{"id":22424,"name":"pygit2","ecosystem":"pip","repository_url":"https://github.com/libgit2/pygit2","issues_count":30,"created_at":"2025-06-07T02:53:17.704Z","updated_at":"2025-06-07T02:53:17.704Z","purl":"pkg:pypi/pygit2","metadata":{"id":2872328,"name":"pygit2","ecosystem":"pypi","description":"Python bindings for libgit2.","homepage":"https://github.com/libgit2/pygit2","licenses":"GPLv2 with linking exception","normalized_licenses":["BSD-3-Clause-Attribution"],"repository_url":"https://github.com/libgit2/pygit2","keywords_array":["git"],"namespace":null,"versions_count":83,"first_release_published_at":"2023-08-19T18:20:43.785Z","latest_release_published_at":"2025-04-24T18:39:24.000Z","latest_release_number":"1.18.0","last_synced_at":"2025-06-06T23:01:05.126Z","created_at":"2022-04-10T12:13:14.142Z","updated_at":"2025-06-06T23:01:05.126Z","registry_url":"https://pypi.org/project/pygit2/","install_command":"pip install pygit2 --index-url https://pypi.org/simple","documentation_url":"https://www.pygit2.org/","metadata":{"funding":"https://github.com/sponsors/jdavid","documentation":"https://www.pygit2.org/","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Software Development :: Version Control","Typing :: Typed"],"normalized_name":"pygit2"},"repo_metadata":{"id":1169119,"uuid":"1062237","full_name":"libgit2/pygit2","owner":"libgit2","description":"Python bindings for libgit2","archived":false,"fork":false,"pushed_at":"2024-05-18T13:53:49.000Z","size":8406,"stargazers_count":1579,"open_issues_count":174,"forks_count":380,"subscribers_count":70,"default_branch":"master","last_synced_at":"2024-05-19T14:34:25.593Z","etag":null,"topics":["git","python"],"latest_commit_sha":null,"homepage":"https://www.pygit2.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libgit2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"jdavid"}},"created_at":"2010-11-08T16:27:48.000Z","updated_at":"2024-05-29T16:47:42.830Z","dependencies_parsed_at":"2023-12-30T10:20:43.395Z","dependency_job_id":"d0d59f4f-5412-4af2-a92b-d7745be232e1","html_url":"https://github.com/libgit2/pygit2","commit_stats":{"total_commits":1895,"total_committers":211,"mean_commits":8.981042654028435,"dds":0.5931398416886544,"last_synced_commit":"459494c916bd8f9188f44272c60a6c83b3153faa"},"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libgit2","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217590716,"owners_count":16201241,"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":"libgit2","name":"libgit2","uuid":"394745","kind":"organization","description":"A portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API.","email":null,"website":"https://libgit2.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/394745?v=4","repositories_count":25,"last_synced_at":"2024-03-25T20:15:35.094Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/libgit2","funding_links":[],"total_stars":21031,"followers":135,"following":0,"created_at":"2022-11-02T16:28:23.633Z","updated_at":"2024-03-25T20:15:48.340Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libgit2","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libgit2/repositories"},"tags":[{"name":"v1.15.0","sha":"facaf22db399c6ec429df62f827d37f11a6472e6","kind":"commit","published_at":"2024-05-18T13:51:18.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.15.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.15.0/manifests"},{"name":"v1.14.1","sha":"c174e350f0c3b90ed8f0b3387a195a6fff495752","kind":"commit","published_at":"2024-02-10T10:52:34.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.14.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.14.1/manifests"},{"name":"v1.14.0","sha":"988eb955051685449b142d7d31fdffa4f23b977c","kind":"commit","published_at":"2024-01-26T11:05:11.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.14.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.14.0/manifests"},{"name":"v1.13.3","sha":"daa1d48bb87362a9a7e11b099887308d6352003e","kind":"commit","published_at":"2023-11-21T08:05:42.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.13.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.3/manifests"},{"name":"v1.13.2","sha":"f1bbd24a814a0522cd968a4f800ae3d7f3bac620","kind":"commit","published_at":"2023-10-30T08:50:04.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.13.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.2/manifests"},{"name":"v1.13.1","sha":"8b92361544e5a718ee9cd1f6364dc42848b38ff1","kind":"commit","published_at":"2023-09-24T08:55:18.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.13.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.1/manifests"},{"name":"v1.13.0","sha":"8f912e157d666689b0e7e6f27c6255fdfdbf357a","kind":"commit","published_at":"2023-09-07T16:02:50.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.13.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.13.0/manifests"},{"name":"v1.12.2","sha":"fd8aa3984e91818e21513858aa0cbc82c56891f4","kind":"commit","published_at":"2023-06-25T16:18:39.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.12.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.2/manifests"},{"name":"v1.12.1","sha":"4b938a4b9d37723c959cb3ae1d713575f653cda4","kind":"commit","published_at":"2023-05-07T16:33:04.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.12.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.1/manifests"},{"name":"v1.12.0","sha":"acb4abbcb2ac7d59961ede6c6be2c43782f22f63","kind":"commit","published_at":"2023-04-01T14:30:46.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.12.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.12.0/manifests"},{"name":"v1.11.1","sha":"1e426fad6454345da2e3fc178e423d266dfc7fba","kind":"commit","published_at":"2022-11-09T07:11:00.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.11.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.11.1/manifests"},{"name":"v1.11.0","sha":"1a871f9dfb18ec29a2f7bfdd2cbb7e18574a6aa4","kind":"commit","published_at":"2022-11-06T11:33:27.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.11.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.11.0/manifests"},{"name":"v1.10.1","sha":"01d50aa1c53ba8c339df973f4ea93b7905657fc9","kind":"commit","published_at":"2022-08-28T09:17:06.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.10.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.10.1/manifests"},{"name":"v1.10.0","sha":"7ee0ef2e22fb8f431f65422b3eeedce180f97985","kind":"commit","published_at":"2022-07-24T11:09:36.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.10.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.10.0/manifests"},{"name":"v1.9.2","sha":"d2f4e229149030b64b7a90c9f0e814dd4c38f2c4","kind":"commit","published_at":"2022-05-24T17:38:27.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.9.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.2/manifests"},{"name":"v1.9.1","sha":"d8ec852126747b11431904efd77a9dd06b93690c","kind":"commit","published_at":"2022-03-22T18:20:07.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.9.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.1/manifests"},{"name":"v1.9.0","sha":"ad043c9d527f81238ac494c84ba5bb4cdff38efe","kind":"commit","published_at":"2022-02-22T15:32:01.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.9.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"822a5511f5c712ba79cd4429094ba7307db1e668","kind":"commit","published_at":"2022-02-04T07:22:53.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.8.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.8.0/manifests"},{"name":"v1.7.2","sha":"f981f80df472b7498371f420c04f2373070d46b1","kind":"commit","published_at":"2021-12-06T08:52:23.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.7.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"a29fc3a61a4bf14af3c662fde3dcaf23c368dad3","kind":"commit","published_at":"2021-11-19T18:10:37.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.7.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"f93efd8c82c0c564963bba7cbebfcb9c23a9cbf1","kind":"commit","published_at":"2021-10-08T09:22:43.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.7.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.7.0/manifests"},{"name":"v1.6.1","sha":"e2c0fdbfbd7f84374f8c7a3df256547b7ea99192","kind":"commit","published_at":"2021-06-19T09:44:33.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.6.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"5c33d86fd7c255d93f08da86b9ae1ef7531da69e","kind":"commit","published_at":"2021-06-01T11:27:57.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.6.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"84e183be3323d31f6528c2f9c3a1905db170bf60","kind":"commit","published_at":"2021-01-23T18:37:25.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.5.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"57b03b8d4a1f8b214f6ce5f0f6dfd35918b46399","kind":"commit","published_at":"2020-11-06T17:03:21.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.4.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"649f141d7f4b5ace6a6c159bd57faf910f02c0bb","kind":"commit","published_at":"2020-09-18T15:44:38.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.3.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"d862360885841af6357cb646bd37c3cf68558036","kind":"commit","published_at":"2020-05-01T07:17:49.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.2.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"7bdce37443b7aeba4e025fa01ca640834b61912d","kind":"commit","published_at":"2020-04-05T08:35:21.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.2.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"42df4cb3eb95272cb7bdb76fdd4f127d370e3096","kind":"commit","published_at":"2020-03-06T18:11:22.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.1.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"7df5d11f8cbbfebdbb545365fb77b317939c1124","kind":"commit","published_at":"2020-03-01T10:42:07.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.1.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.1.0/manifests"},{"name":"v1.0.3","sha":"eb5133729df9e0456bf8d554292cae876c368a42","kind":"commit","published_at":"2020-01-31T11:32:34.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.0.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"a4594a2b03db32d5a5c78f306bd09191195ad688","kind":"commit","published_at":"2020-01-11T08:01:15.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.0.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"f9662e35eefdf6cfcd1b1477e234a328d363796c","kind":"commit","published_at":"2019-12-21T08:31:22.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.0.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"6c93dab6d3342eeaf515a3c8f39533309ad6d5f0","kind":"commit","published_at":"2019-12-06T11:52:37.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v1.0.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v1.0.0/manifests"},{"name":"v0.28.2","sha":"e187843e500006f1809e20c0b77afd5ffe2d9b9a","kind":"commit","published_at":"2019-05-26T09:04:54.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.28.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.28.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.2/manifests"},{"name":"v0.28.1","sha":"dee37411da546f097e5885197df0bdb76bf39458","kind":"commit","published_at":"2019-04-19T08:16:07.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.28.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.1/manifests"},{"name":"v0.28.0","sha":"75d0d804303cc7bdeda48b72668000e2c58a44cf","kind":"commit","published_at":"2019-03-19T16:32:50.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.28.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.28.0/manifests"},{"name":"v0.27.4","sha":"da7ebb53b126e9aa9e04f92aa4f89d66dd33712f","kind":"commit","published_at":"2019-01-19T19:49:22.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.27.4","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.27.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.4/manifests"},{"name":"v0.27.3","sha":"a0215bc6fd9c262293c69a4731a41e2ec516d74d","kind":"commit","published_at":"2018-12-15T10:33:15.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.27.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.27.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.3/manifests"},{"name":"v0.27.2","sha":"360bf2cb663b41be17ed618a3816c94b1de231db","kind":"commit","published_at":"2018-09-16T11:28:55.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.27.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.27.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.2/manifests"},{"name":"v0.27.1","sha":"8d6940f49fbb764b3737531dd8fdf667f5faf1b2","kind":"commit","published_at":"2018-06-02T07:25:12.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.27.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.27.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.1/manifests"},{"name":"v0.27.0","sha":"795adc7d00e0d650d78bb4d7a309003639a77c4d","kind":"commit","published_at":"2018-03-30T18:53:32.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.27.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.27.0/manifests"},{"name":"v0.26.4","sha":"662892913c1f6abd4502ad17cc18a4694ebe8dc8","kind":"commit","published_at":"2018-03-23T12:36:02.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.26.4","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.26.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.4/manifests"},{"name":"v0.26.3","sha":"5c96a46e2bfa2fa35d10a42fb51271da50d5685f","kind":"commit","published_at":"2017-12-24T16:12:24.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.26.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.26.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.3/manifests"},{"name":"v0.26.2","sha":"d1c954f40f96816d3695a1eeb5d22a6beb32416d","kind":"commit","published_at":"2017-12-01T09:56:42.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.26.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.26.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.2/manifests"},{"name":"v0.26.1","sha":"4e60fb21f9ffaade3514d52512760046f0fc2ff3","kind":"commit","published_at":"2017-11-19T18:46:04.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.26.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.26.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.1/manifests"},{"name":"v0.26.0","sha":"62c70e852da23bcb60e64996f6326a3e2a800469","kind":"commit","published_at":"2017-07-06T15:12:44.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.26.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.26.0/manifests"},{"name":"v0.25.1","sha":"8559b2da20139e1ea158bc0dd47c6bc687a17efe","kind":"commit","published_at":"2017-04-25T17:08:10.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.25.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.25.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.25.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.25.1/manifests"},{"name":"v0.25.0","sha":"68817aad4f3da4065cf2d7da1ab3812b9f0e4a54","kind":"commit","published_at":"2016-12-26T11:30:36.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.25.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.25.0/manifests"},{"name":"v0.24.2","sha":"66280af83a75d5b680c1014130e4bbbc9b75b6e3","kind":"commit","published_at":"2016-11-01T19:34:50.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.24.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.2/manifests"},{"name":"v0.24.1","sha":"4416f65fe12155e6da6bbe174a752608dce6d652","kind":"commit","published_at":"2016-06-21T21:04:12.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.24.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.1/manifests"},{"name":"v0.24.0","sha":"22021c67fc63f8fa6bad5febb9e2a02d701cb20f","kind":"commit","published_at":"2016-03-05T22:21:05.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.24.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.24.0/manifests"},{"name":"v0.23.3","sha":"fa60e2233d16d6b27640c27d0ba62a410d548c70","kind":"commit","published_at":"2016-01-01T18:18:34.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.23.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.23.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.3/manifests"},{"name":"v0.23.2","sha":"64150d3535ac3dd8d156f5482c25bb61e2d1c4ea","kind":"commit","published_at":"2015-10-11T15:49:17.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.23.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.23.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.2/manifests"},{"name":"v0.23.1","sha":"e4ef8ea5c280f898987ae0e24c2f69d93be75c19","kind":"commit","published_at":"2015-09-26T18:49:13.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.23.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.1/manifests"},{"name":"v0.23.0","sha":"27e3450232e5a4090fc92e37966a79d90f5e9d3c","kind":"commit","published_at":"2015-08-14T14:56:30.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.23.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.23.0/manifests"},{"name":"v0.22.1","sha":"2fdfdcdc4b5210e9e147d26179a3cfe13090e8f2","kind":"commit","published_at":"2015-07-12T10:04:58.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.22.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.22.1/manifests"},{"name":"v0.22.0","sha":"126308403b2678ed5753b9ad6fcfdfab20946bbe","kind":"commit","published_at":"2015-01-16T15:35:19.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.22.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.22.0/manifests"},{"name":"v0.21.4","sha":"21e2102e7c902bf07e9f517010a81602d2dce5d6","kind":"commit","published_at":"2014-11-04T16:49:43.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.21.4","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.21.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.4/manifests"},{"name":"v0.21.3","sha":"c997037c7b0b0a145ddc179bfca35a26f72d7b1d","kind":"commit","published_at":"2014-09-15T10:39:27.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.21.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.21.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.3/manifests"},{"name":"v0.21.2","sha":"f5765b0968c9512f32763e4224222a14917d3b74","kind":"commit","published_at":"2014-08-09T14:56:13.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.21.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.21.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.2/manifests"},{"name":"v0.21.1","sha":"a0a70c3264ca7b40c10f286b9c8dcb62d3fbffc4","kind":"commit","published_at":"2014-07-22T16:15:20.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.21.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.1/manifests"},{"name":"v0.21.0","sha":"7b3201d868578e8e6936cb868c7acc38a4b04b45","kind":"commit","published_at":"2014-06-27T15:28:01.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.21.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.21.0/manifests"},{"name":"v0.20.3","sha":"d882af8f52fadfdc35a98daaac8bf0a2fb8e155f","kind":"commit","published_at":"2014-04-02T20:28:18.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.20.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.3/manifests"},{"name":"v0.20.2","sha":"140305e41011dc7ba37286052927509a93505ec1","kind":"commit","published_at":"2014-02-04T21:26:46.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.20.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.2/manifests"},{"name":"v0.20.1","sha":"cde2456327197ff479add30a40576f427e12618a","kind":"commit","published_at":"2013-12-24T09:51:02.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.20.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.1/manifests"},{"name":"v0.20.0","sha":"e6c270fe3591c42dc6a89c0f49e6a5547baf5acd","kind":"commit","published_at":"2013-11-24T14:22:10.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.20.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.20.0/manifests"},{"name":"v0.19.1","sha":"9c13be8dec39c60460182d1632324999333f3769","kind":"commit","published_at":"2013-10-03T18:35:58.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.19.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.19.1/manifests"},{"name":"v0.19.0","sha":"5a007802d0592a6db2cfaa5a58929d97bb2c4897","kind":"commit","published_at":"2013-07-13T10:04:14.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.19.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.19.0/manifests"},{"name":"v0.18.1","sha":"e86fee5c7ebdccdce759e69d71feeb58a91196b0","kind":"commit","published_at":"2013-04-20T20:27:09.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.18.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.18.1/manifests"},{"name":"v0.18.0","sha":"072cc38607ec8eac1bb75f6bd0a48fcfbdc795ff","kind":"commit","published_at":"2013-04-16T20:46:53.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.18.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.18.0/manifests"},{"name":"v0.17.3","sha":"1148c5d73bbe44d96d5ca084145fd157c2748750","kind":"commit","published_at":"2012-09-21T14:30:50.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.17.3","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.17.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.3/manifests"},{"name":"v0.17.2","sha":"0821e7bf00c97f6a627dd1dae01d33019348c050","kind":"commit","published_at":"2012-07-24T10:40:26.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.17.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.2/manifests"},{"name":"v0.17.1","sha":"a1716a3a923faa5d955529a8d1f509c7f7c4d1b1","kind":"commit","published_at":"2012-07-18T10:24:09.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.17.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.1/manifests"},{"name":"v0.17.0","sha":"6825bba8c0a3e7d99e1f5cbe5ec80ef1b534fa7a","kind":"commit","published_at":"2012-05-21T16:11:38.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.17.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.17.0/manifests"},{"name":"v0.16.2","sha":"2bbf62f50a0a25efb1592ebbb83d741fad8e29dd","kind":"commit","published_at":"2012-05-03T12:05:51.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.16.2","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.2/manifests"},{"name":"v0.16.1","sha":"bccf3e1e33c558242fd9680beadc538e566fb61d","kind":"commit","published_at":"2012-03-19T13:16:30.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.16.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.1/manifests"},{"name":"v0.16.0","sha":"0fa8503f919e3a619ec13ba4aa33e1eb4cb1e4de","kind":"commit","published_at":"2012-02-06T22:30:00.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.16.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.16.0/manifests"},{"name":"v0.15.1","sha":"3073a7c3daa07419c79e6895250009cde6b85c04","kind":"commit","published_at":"2011-11-28T22:33:16.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.15.1","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.15.1/manifests"},{"name":"v0.15.0","sha":"1dde68691b16525f28c95157122dc007f1173cf9","kind":"commit","published_at":"2011-10-05T21:11:59.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.15.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"1c9602e58ee3a7479c14d67434dcfc312fa7c02b","kind":"commit","published_at":"2011-07-28T09:26:02.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.14.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"eedd975bc832cd0baf46cf53e8c5e3eaf571e334","kind":"commit","published_at":"2011-06-25T16:53:22.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.13.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"f8e61de9734b135f856a385bc20740a547a87ef4","kind":"commit","published_at":"2011-05-11T16:03:50.000Z","download_url":"https://codeload.github.com/libgit2/pygit2/tar.gz/v0.12.0","html_url":"https://github.com/libgit2/pygit2/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgit2%2Fpygit2/tags/v0.12.0/manifests"}]},"repo_metadata_updated_at":"2024-09-05T09:40:33.618Z","dependent_packages_count":139,"downloads":2897003,"downloads_period":"last-month","dependent_repos_count":2172,"rankings":{"downloads":0.250617525379771,"dependent_repos_count":0.23409955211610425,"dependent_packages_count":0.14733272704144112,"stargazers_count":1.7514747512336268,"forks_count":2.649915159392036,"docker_downloads_count":0.5217401210178869,"average":0.9258633060301443},"purl":"pkg:pypi/pygit2","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pygit2","docker_dependents_count":96,"docker_downloads_count":18641184,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pygit2","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pygit2/dependencies","status":null,"funding_links":["https://github.com/sponsors/jdavid"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pygit2/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pygit2/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pygit2/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pygit2/related_packages","maintainers":[{"uuid":"jdavid","login":"jdavid","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/jdavid/","role":null,"created_at":"2023-01-18T12:39:18.324Z","updated_at":"2023-01-18T12:39:18.324Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jdavid/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":20,"unique_repositories_count_past_30_days":2,"recent_issues":[{"uuid":"4044437426","node_id":"PR_kwDOPf23ns7JA3PJ","number":3526,"state":"open","title":"deps(deps): bump pygit2 from 1.18.2 to 1.19.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-09T09:29:08.000Z","updated_at":"2026-03-09T09:49:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.1)](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/Aries-Serpent/_codex_/pull/3526","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aries-Serpent%2F_codex_/issues/3526","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3526/packages"},{"uuid":"3971112133","node_id":"PR_kwDORAhFZs7FS-SH","number":5,"state":"closed","title":"Bump the all-deps group across 1 directory with 56 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-28T04:30:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-21T02:39:45.000Z","updated_at":"2026-02-28T04:30:29.000Z","time_to_close":611443,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":56,"packages":[{"name":"aiosqlite","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"24.4.2","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.8.11","new_version":"2.9.0","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"51","new_version":"52","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"click","old_version":"8.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.14","new_version":"1.4.15","repository_url":"https://github.com/enthought/comtypes"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"fsspec","old_version":"2025.12.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gmsh","old_version":"4.15.0","new_version":"4.15.1"},{"name":"ladybug-comfort","old_version":"0.18.96","new_version":"0.18.103","repository_url":"https://github.com/ladybug-tools/ladybug-comfort"},{"name":"ladybug-core","old_version":"0.44.29","new_version":"0.44.36","repository_url":"https://github.com/ladybug-tools/ladybug"},{"name":"ladybug-display","old_version":"0.13.3","new_version":"0.13.6","repository_url":"https://github.com/ladybug-tools/ladybug-display"},{"name":"ladybug-geometry","old_version":"1.34.14","new_version":"1.34.19","repository_url":"https://github.com/ladybug-tools/ladybug-geometry"},{"name":"markdown","old_version":"3.10","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.63.1","new_version":"0.64.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"openstudio","old_version":"3.10.0","new_version":"3.11.0","repository_url":"https://github.com/NREL/OpenStudio"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"12.0.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pooch","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/fatiando/pooch"},{"name":"posthog","old_version":"7.4.2","new_version":"7.9.3","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycollada","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/pycollada/pycollada"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyfakefs","old_version":"6.0.0","new_version":"6.1.1","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyoptools","old_version":"0.3.7","new_version":"0.3.8"},{"name":"pyparsing","old_version":"3.3.0","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproj","old_version":"3.7.1","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"pyvista","old_version":"0.46.4","new_version":"0.47.0","repository_url":"https://github.com/pyvista/pyvista"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"scikit-image","old_version":"0.25.2","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.15.3","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.48.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"soupsieve","old_version":"2.8.1","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"testtools","old_version":"2.8.2","new_version":"2.8.4","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"tifffile","old_version":"2025.5.10","new_version":"2026.2.20","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"trimesh","old_version":"4.10.1","new_version":"4.11.2","repository_url":"https://github.com/mikedh/trimesh"},{"name":"txaio","old_version":"25.9.2","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"urllib3","old_version":"2.6.2","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vedo","old_version":"2025.5.4","new_version":"2026.6.1","repository_url":"https://github.com/marcomusy/vedo"},{"name":"vtk","old_version":"9.5.2","new_version":"9.6.0"},{"name":"xarray","old_version":"2025.6.1","new_version":"2026.2.0","repository_url":"https://github.com/pydata/xarray"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-deps group with 56 updates in the /Data/Python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.22.0` | `0.22.1` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `24.4.2` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.8.11` | `2.9.0` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `51` | `52` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.14` | `1.4.15` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.5` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.12.0` | `2026.2.0` |\n| [gmsh](https://gmsh.info) | `4.15.0` | `4.15.1` |\n| [ladybug-comfort](https://github.com/ladybug-tools/ladybug-comfort) | `0.18.96` | `0.18.103` |\n| [ladybug-core](https://github.com/ladybug-tools/ladybug) | `0.44.29` | `0.44.36` |\n| [ladybug-display](https://github.com/ladybug-tools/ladybug-display) | `0.13.3` | `0.13.6` |\n| [ladybug-geometry](https://github.com/ladybug-tools/ladybug-geometry) | `1.34.14` | `1.34.19` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10` | `3.10.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.64.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.2` |\n| [openstudio](https://github.com/NREL/OpenStudio) | `3.10.0` | `3.11.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.7` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.0.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pooch](https://github.com/fatiando/pooch) | `1.8.2` | `1.9.0` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.4.2` | `7.9.3` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.5` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pycollada](https://github.com/pycollada/pycollada) | `0.9.2` | `0.9.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `6.0.0` | `6.1.1` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.18.2` | `1.19.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.10.1` | `2.11.0` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| pyoptools | `0.3.7` | `0.3.8` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.0` | `3.3.2` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.7.1` | `3.7.2` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.46.4` | `0.47.0` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.25.2` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.17.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.48.0` | `2.53.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.1` | `2.8.3` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.8.2` | `2.8.4` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2025.5.10` | `2026.2.20` |\n| [trimesh](https://github.com/mikedh/trimesh) | `4.10.1` | `4.11.2` |\n| [txaio](https://github.com/crossbario/txaio) | `25.9.2` | `25.12.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.2` | `2.6.3` |\n| [vedo](https://github.com/marcomusy/vedo) | `2025.5.4` | `2026.6.1` |\n| [vtk](https://vtk.org) | `9.5.2` | `9.6.0` |\n| [xarray](https://github.com/pydata/xarray) | `2025.6.1` | `2026.2.0` |\n\n\nUpdates `aiosqlite` from 0.22.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.22.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 24.4.2 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eDevelopment Build fork-68427734-oberstet_autobahn_python-strict_typing_test-202601141357\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: 1c7d45cd\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-14 14:02:37 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cp\u003eDownload the appropriate wheel for your platform:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install \u0026lt;downloaded-wheel-file\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eArtifact Inventory\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-cee77a0c-bblommers_autobahn_python-chore_apply_ruff_up-202601092138\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: b006e90e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-09 21:43:05 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v24.4.2...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.8.11 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.9.0\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: drop Python 3.9 by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3816\"\u003escikit-hep/awkward#3816\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass the right input type to \u003ccode\u003eawkward_NumpyArray_subrange_equal*\u003c/code\u003e kernels by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3818\"\u003escikit-hep/awkward#3818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: define behavior class within the test function in \u003ccode\u003etest_1511_set_attribute.py\u003c/code\u003e to make it thread-local by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3826\"\u003escikit-hep/awkward#3826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: properly respect requested byteorder in \u003ccode\u003eak.from_buffers\u003c/code\u003e for ndarray buffers by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3820\"\u003escikit-hep/awkward#3820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eset_mask\u003c/code\u003e instead of \u003ccode\u003eset_base_mask\u003c/code\u003e in \u003ccode\u003eto_cudf\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3847\"\u003escikit-hep/awkward#3847\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: use \u0026quot;M8\u0026quot; dtype instead of \u0026quot;\u0026lt;M8\u0026quot; in tests by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3819\"\u003escikit-hep/awkward#3819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 in the actions group 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/scikit-hep/awkward/pull/3828\"\u003escikit-hep/awkward#3828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move array definitions inside test functions in \u003ccode\u003etest_1490_jax_reducers_combinations.py\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3829\"\u003escikit-hep/awkward#3829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: xfail \u003ccode\u003etests-cuda/test_3051_to_cuda.py\u003c/code\u003e only in the latest cudf by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3836\"\u003escikit-hep/awkward#3836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: do not skip \u003ccode\u003etest_recordarray_argmax_y_field\u003c/code\u003e and make the xfail reason consistent for \u003ccode\u003etest_listarray_sort\u003c/code\u003e in  \u003ccode\u003etests-cuda/test_3459_virtualarray_with_cuda.py\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3837\"\u003escikit-hep/awkward#3837\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3834\"\u003escikit-hep/awkward#3834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: delete old \u003ccode\u003eVirtualArray\u003c/code\u003e class by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3848\"\u003escikit-hep/awkward#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: drop support for PyPy by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3835\"\u003escikit-hep/awkward#3835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: drop 3.13t by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3843\"\u003escikit-hep/awkward#3843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: drop cp/pp build selectors by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3854\"\u003escikit-hep/awkward#3854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add automated contributions policy to CONTRIBUTING.md by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3831\"\u003escikit-hep/awkward#3831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document named-axis support for axis in high-level operations by \u003ca href=\"https://github.com/X0708a\"\u003e\u003ccode\u003e@​X0708a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3823\"\u003escikit-hep/awkward#3823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: improve \u003ccode\u003eak.to_cudf\u003c/code\u003e errors and documentation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3850\"\u003escikit-hep/awkward#3850\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.12...v2.9.0\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.12...v2.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.12\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: improve merging of \u003ccode\u003eNumpyArray\u003c/code\u003es and simplification of \u003ccode\u003eUnionArray\u003c/code\u003es + fix \u003ccode\u003eak.almost_equal\u003c/code\u003e for \u003ccode\u003eUnionArray\u003c/code\u003es by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3773\"\u003escikit-hep/awkward#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003eak.sort()\u003c/code\u003e for CUDA backend by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3750\"\u003escikit-hep/awkward#3750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Make \u003ccode\u003eak.combinations\u003c/code\u003e faster on GPU by using \u003ccode\u003ecp.searchsorted\u003c/code\u003e to compute output list indexes by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3795\"\u003escikit-hep/awkward#3795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add argmax implementation using CCCL by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3777\"\u003escikit-hep/awkward#3777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: make \u003ccode\u003eak.combinations\u003c/code\u003e faster on GPU by using \u003ccode\u003ecp.searchsorted\u003c/code\u003e to compute output list indexes by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3798\"\u003escikit-hep/awkward#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add argmin implementation using CCCL by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3811\"\u003escikit-hep/awkward#3811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: incorrect type passed down for the \u003ccode\u003emergeastable\u003c/code\u003e argument by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3779\"\u003escikit-hep/awkward#3779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix \u003ccode\u003eak.validity_error\u003c/code\u003e for typetracer-backed layouts with unknown length by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3784\"\u003escikit-hep/awkward#3784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make \u003ccode\u003eak.enforce_type\u003c/code\u003e work with typetracers by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3764\"\u003escikit-hep/awkward#3764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.show()\u003c/code\u003e formatter forwarding by \u003ca href=\"https://github.com/X0708a\"\u003e\u003ccode\u003e@​X0708a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3796\"\u003escikit-hep/awkward#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix and test \u003ccode\u003eForm.length_zero/one_array()\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3810\"\u003escikit-hep/awkward#3810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make named axis thread-safe and start testing using multiple threads in CI by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3805\"\u003escikit-hep/awkward#3805\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: use codecov token by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3769\"\u003escikit-hep/awkward#3769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macOS to test ML dependencies by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3774\"\u003escikit-hep/awkward#3774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions group across 1 directory with 5 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/scikit-hep/awkward/pull/3778\"\u003escikit-hep/awkward#3778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: xfail failing cudf tests until fixed by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3781\"\u003escikit-hep/awkward#3781\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/scikit-hep/awkward/commit/e4be9febc76c610eea671ef3f0e3084cb206da49\"\u003e\u003ccode\u003ee4be9fe\u003c/code\u003e\u003c/a\u003e awkward 2.9.0 and awkward-cpp 52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/254fcb3cacf113aa20f4c959e9aa6d0d3f5d8e56\"\u003e\u003ccode\u003e254fcb3\u003c/code\u003e\u003c/a\u003e ci: drop cp/pp build selectors (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0b5ee6e87d2a6d475c58ee0b3ff2106b415311fd\"\u003e\u003ccode\u003e0b5ee6e\u003c/code\u003e\u003c/a\u003e awkward 2.8.13 and awkward-cpp 52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/c8c9cff788a1874fb47c87f90e97e3742c09bd85\"\u003e\u003ccode\u003ec8c9cff\u003c/code\u003e\u003c/a\u003e refactor: improve \u003ccode\u003eak.to_cudf\u003c/code\u003e errors and documentation (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/303bcdd2077f5e778b688dcd324696c215c1dcd0\"\u003e\u003ccode\u003e303bcdd\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eset_mask\u003c/code\u003e instead of \u003ccode\u003eset_base_mask\u003c/code\u003e in \u003ccode\u003eto_cudf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1e1ca0ceccc6a330e23f047d68ba8befa1c4c085\"\u003e\u003ccode\u003e1e1ca0c\u003c/code\u003e\u003c/a\u003e docs: document named-axis support for axis in high-level operations (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/d2fac8d2645f26c625ddec204e377a30219c276c\"\u003e\u003ccode\u003ed2fac8d\u003c/code\u003e\u003c/a\u003e chore: delete old \u003ccode\u003eVirtualArray\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/4da20e63e8ff613280b3c82c5712deaaf36d84fb\"\u003e\u003ccode\u003e4da20e6\u003c/code\u003e\u003c/a\u003e docs: add automated contributions policy to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/02d8408c4a36097064a3e66749dcc26a3cccb626\"\u003e\u003ccode\u003e02d8408\u003c/code\u003e\u003c/a\u003e ci: drop 3.13t (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/675ff70fb896cb39a7ab59cddc4020c31d7628e3\"\u003e\u003ccode\u003e675ff70\u003c/code\u003e\u003c/a\u003e build: drop support for PyPy (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3835\"\u003e#3835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.8.11...v2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 51 to 52\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.14 to 1.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace the module-level skip with individual \u003ccode\u003e@skip\u003c/code\u003e decorators on the test methods in \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd tests for \u003ccode\u003estdole.IPicture\u003c/code\u003e creation through \u003ccode\u003eIStream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove enum testing in \u003ccode\u003etest_client.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRevive and enhance \u003ccode\u003etest_outparam\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_stream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_storage\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emalloc\u003c/code\u003e module. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance and refactor COM moniker tests. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRefine type hints and enhance tests for \u003ccode\u003eclient.GetClassObject\u003c/code\u003e, \u003ccode\u003eCoGetClassObject\u003c/code\u003e and \u003ccode\u003eIClassFactory\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce warnings for Python 3.15 enum compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/blob/main/CHANGES.txt\"\u003ecomtypes's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace the module-level skip with individual \u003ccode\u003e@skip\u003c/code\u003e decorators on the test methods in \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd tests for \u003ccode\u003estdole.IPicture\u003c/code\u003e creation through \u003ccode\u003eIStream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove enum testing in \u003ccode\u003etest_client.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRevive and enhance \u003ccode\u003etest_outparam\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_stream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_storage\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emalloc\u003c/code\u003e module. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance and refactor COM moniker tests. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRefine type hints and enhance tests for \u003ccode\u003eclient.GetClassObject\u003c/code\u003e, \u003ccode\u003eCoGetClassObject\u003c/code\u003e and \u003ccode\u003eIClassFactory\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce warnings for Python 3.15 enum compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\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/enthought/comtypes/commit/07ab1f45c1c7b474546a582ff81640886259c675\"\u003e\u003ccode\u003e07ab1f4\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.15 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/908\"\u003e#908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/7008819f79e6a2d3654b5d82e5f24bb88e886b8a\"\u003e\u003ccode\u003e7008819\u003c/code\u003e\u003c/a\u003e Introduce warnings for Python 3.15 enum compatibility and improve test stabil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1fc72e0f77918cdf3cfc6a2ebd7ebf9a685da079\"\u003e\u003ccode\u003e1fc72e0\u003c/code\u003e\u003c/a\u003e Enhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/906\"\u003e#906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1aab6ae9b3d23a42d1e5d84c97ee45435c346e8b\"\u003e\u003ccode\u003e1aab6ae\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/905\"\u003e#905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/921b6990aa14fda9476970bad03eb11fb0333d2d\"\u003e\u003ccode\u003e921b699\u003c/code\u003e\u003c/a\u003e Refine type hints and enhance dynamic dispatch tests for `client.GetClassObje...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/af2872f943eb1655ff8f1e0c78cb8b2947ec36c3\"\u003e\u003ccode\u003eaf2872f\u003c/code\u003e\u003c/a\u003e Improve type hints and tests for \u003ccode\u003eIClassFactory.CreateInstance\u003c/code\u003e and `CoGetCla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/3ff96695881bf3257ddd8af00088cf0ee90cd5c4\"\u003e\u003ccode\u003e3ff9669\u003c/code\u003e\u003c/a\u003e Enhance and refactor COM moniker and binding context tests (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/902\"\u003e#902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1f5c5d572560425b025d33e522344128a0ea27dd\"\u003e\u003ccode\u003e1f5c5d5\u003c/code\u003e\u003c/a\u003e Enhance memory management features and \u003ccode\u003eIStorage\u003c/code\u003e/\u003ccode\u003eIStream\u003c/code\u003e tests. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/901\"\u003e#901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/8c3bdecf1c5bf97e9502e9a2513a6e1a65136d27\"\u003e\u003ccode\u003e8c3bdec\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003emalloc\u003c/code\u003e module and enhance COM memory management tests. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/899\"\u003e#899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/baef7730aa928caaa481b848e50a9f257b307e32\"\u003e\u003ccode\u003ebaef773\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003emalloc\u003c/code\u003e module (part 1) (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/enthought/comtypes/compare/1.4.14...1.4.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `contourpy` from 1.3.2 to 1.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/contourpy/contourpy/releases\"\u003econtourpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.3\u003c/h2\u003e\n\u003cp\u003eContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports CPython 3.11 to 3.14, and PyPy 3.11.\u003c/p\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Windows on ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/476\"\u003e#476\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/477\"\u003e#477\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump minimum supported Python to 3.11 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/479\"\u003e#479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/485\"\u003e#485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate type annotations for \u003ccode\u003ebokeh\u003c/code\u003e 3.7.3 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type annotation changes in \u003ccode\u003enumpy\u003c/code\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBuild, testing and CI improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.13.3 pin (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI install \u003ccode\u003enumpy\u003c/code\u003e 2.3.2 wheels from PyPI for Python 3.14 and Windows ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/488\"\u003e#488\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/contourpy/contourpy/blob/main/docs/changelog.rst\"\u003econtourpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.3 (2025-07-26)\u003c/h2\u003e\n\u003cp\u003eContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports CPython 3.11 to 3.14, and PyPy 3.11.\u003c/p\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Windows on ARM (:pr:\u003ccode\u003e476\u003c/code\u003e, :pr:\u003ccode\u003e477\u003c/code\u003e, :pr:\u003ccode\u003e483\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBump minimum supported Python to 3.11 (:pr:\u003ccode\u003e[#478](https://github.com/contourpy/contourpy/issues/478)\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 (:pr:\u003ccode\u003e479\u003c/code\u003e, :pr:\u003ccode\u003e485\u003c/code\u003e, :pr:\u003ccode\u003e490\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate type annotations for \u003ccode\u003ebokeh\u003c/code\u003e 3.7.3 (:pr:\u003ccode\u003e475\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type annotation changes in \u003ccode\u003enumpy\u003c/code\u003e 2.3.0 (:pr:\u003ccode\u003e480\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBuild, testing and CI improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.13.3 pin (:pr:\u003ccode\u003e487\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCI install \u003ccode\u003enumpy\u003c/code\u003e 2.3.2 wheels from PyPI for Python 3.14 and Windows ARM (:pr:\u003ccode\u003e488\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/contourpy/contourpy/commit/713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b\"\u003e\u003ccode\u003e713550a\u003c/code\u003e\u003c/a\u003e Prepare for v1.3.3 release (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/9fa322750757cf080e2fa54e7d6597c10dfe75c0\"\u003e\u003ccode\u003e9fa3227\u003c/code\u003e\u003c/a\u003e Reinstate image tests for python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/e818810855fead1080260c2e4c1cfa254e99a7df\"\u003e\u003ccode\u003ee818810\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel to 3.1.1 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/d8007917fe0461384559241bee7dd31a591a049b\"\u003e\u003ccode\u003ed800791\u003c/code\u003e\u003c/a\u003e CI install numpy 2.3.2 wheels from pypi for python 3.14 and windows arm (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/881ca7fde63afd4ed0178bb7f3eaed3e56680f0d\"\u003e\u003ccode\u003e881ca7f\u003c/code\u003e\u003c/a\u003e Remove 3.13.3 pin (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/a58d9d0288935a627f6d695d6eed0dc26dd7ee12\"\u003e\u003ccode\u003ea58d9d0\u003c/code\u003e\u003c/a\u003e Update mypy to 1.17.0 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/a32405f294eb5ee43ed9362d44a132c23e9d6457\"\u003e\u003ccode\u003ea32405f\u003c/code\u003e\u003c/a\u003e Use matplotlib images tests for python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/33d9d9dba2111937c72fc53af247002871080c18\"\u003e\u003ccode\u003e33d9d9d\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 in the actions group (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/154fbfd0df5fbd52d8bde3e65771d180687ecc70\"\u003e\u003ccode\u003e154fbfd\u003c/code\u003e\u003c/a\u003e Disable nightly wheels test on Windows on ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/20936c532c2d8e36e2a8aa078d6e8d9b4787e38e\"\u003e\u003ccode\u003e20936c5\u003c/code\u003e\u003c/a\u003e Support python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/479\"\u003e#479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/contourpy/contourpy/compare/v1.3.2...v1.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.3 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.3...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` 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/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/Addons/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FAddons/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3851959999","node_id":"PR_kwDORAhFZs6_K0k5","number":1,"state":"open","title":"Bump the all-deps group in /Data/Python/Constraints with 81 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-24T20:06:48.000Z","updated_at":"2026-01-31T04:01:14.540Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":81,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"21.3.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.6.10","new_version":"2.8.11","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"40","new_version":"51","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"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.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.12","new_version":"1.4.15","repository_url":"https://github.com/enthought/comtypes"},{"name":"configparser","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/jaraco/configparser"},{"name":"contourpy","old_version":"1.1.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cpylog","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/SteveDoyle2/cpylog"},{"name":"docutils","old_version":"0.20.1","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"ezdxf","old_version":"1.1.4","new_version":"1.4.3","repository_url":"https://github.com/mozman/ezdxf"},{"name":"fonttools","old_version":"4.57.0","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.3.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geomdl","old_version":"5.3.1","new_version":"5.4.0","repository_url":"https://github.com/orbingol/NURBS-Python"},{"name":"ijson","old_version":"3.3.0","new_version":"3.4.0.post0","repository_url":"https://github.com/ICRAR/ijson"},{"name":"imageio","old_version":"2.35.1","new_version":"2.37.2","repository_url":"https://github.com/imageio/imageio"},{"name":"importlib-metadata","old_version":"8.5.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"importlib-resources","old_version":"6.4.5","new_version":"6.5.2","repository_url":"https://github.com/python/importlib_resources"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"ladybug-comfort","old_version":"0.18.96","new_version":"0.18.97","repository_url":"https://github.com/ladybug-tools/ladybug-comfort"},{"name":"ladybug-core","old_version":"0.44.29","new_version":"0.44.30","repository_url":"https://github.com/ladybug-tools/ladybug"},{"name":"llvmlite","old_version":"0.41.1","new_version":"0.46.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"markdown","old_version":"3.7","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"networkx","old_version":"3.1","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.58.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.24.4","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"openstudio","old_version":"3.10.0","new_version":"3.11.0","repository_url":"https://github.com/NREL/OpenStudio"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.0.3","new_version":"3.0.0","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"10.4.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"4.2.0","new_version":"7.6.0","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"5.29.5","new_version":"6.33.4","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycollada","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/pycollada/pycollada"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.13.3","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyopenxr","old_version":"1.1.4601","new_version":"1.1.5301","repository_url":"https://github.com/cmbruns/pyopenxr"},{"name":"pyoptools","old_version":"0.2.1","new_version":"0.3.7"},{"name":"pyparsing","old_version":"3.1.4","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypresence","old_version":"4.3.0","new_version":"4.6.1","repository_url":"https://github.com/qwertyquerty/pypresence"},{"name":"pyproj","old_version":"3.5.0","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pyvista","old_version":"0.44.2","new_version":"0.46.5","repository_url":"https://github.com/pyvista/pyvista"},{"name":"pywavelets","old_version":"1.4.1","new_version":"1.9.0","repository_url":"https://github.com/PyWavelets/pywt"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.0","repository_url":"https://github.com/Textualize/rich"},{"name":"scikit-image","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.3.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.10.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.48.0","new_version":"2.50.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"streamdeck","old_version":"0.9.6","new_version":"0.9.8","repository_url":"https://github.com/abcminiuser/python-elgato-streamdeck"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"testtools","old_version":"2.7.2","new_version":"2.8.2","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tifffile","old_version":"2023.7.10","new_version":"2026.1.14","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"trimesh","old_version":"4.10.1","new_version":"4.11.1","repository_url":"https://github.com/mikedh/trimesh"},{"name":"txaio","old_version":"23.1.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzlocal","old_version":"5.2","new_version":"5.3.1","repository_url":"https://github.com/regebro/tzlocal"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vtk","old_version":"9.3.1","new_version":"9.5.2"},{"name":"xarray","old_version":"2023.1.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.20.2","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":"/Data/Python/Constraints","ecosystem":"pip"},"body":"Bumps the all-deps group in /Data/Python/Constraints with 81 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.1` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `21.3.1` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.6.10` | `2.8.11` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `40` | `51` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.12` | `1.4.15` |\n| [configparser](https://github.com/jaraco/configparser) | `7.1.0` | `7.2.0` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.1.1` | `1.3.3` |\n| [cpylog](https://github.com/SteveDoyle2/cpylog) | `1.5.0` | `1.6.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.20.1` | `0.22.4` |\n| [ezdxf](https://github.com/mozman/ezdxf) | `1.1.4` | `1.4.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.57.0` | `4.61.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.3.0` | `2026.1.0` |\n| [geomdl](https://github.com/orbingol/NURBS-Python) | `5.3.1` | `5.4.0` |\n| [ijson](https://github.com/ICRAR/ijson) | `3.3.0` | `3.4.0.post0` |\n| [imageio](https://github.com/imageio/imageio) | `2.35.1` | `2.37.2` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.5.0` | `8.7.1` |\n| [importlib-resources](https://github.com/python/importlib_resources) | `6.4.5` | `6.5.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.4.9` |\n| [ladybug-comfort](https://github.com/ladybug-tools/ladybug-comfort) | `0.18.96` | `0.18.97` |\n| [ladybug-core](https://github.com/ladybug-tools/ladybug) | `0.44.29` | `0.44.30` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.41.1` | `0.46.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.1` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.0.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.10.8` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.1` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.58.1` | `0.63.1` |\n| [numpy](https://github.com/numpy/numpy) | `1.24.4` | `2.4.1` |\n| [openstudio](https://github.com/NREL/OpenStudio) | `3.10.0` | `3.11.0` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.0.3` | `3.0.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.4.0` | `12.1.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `4.2.0` | `7.6.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `6.33.4` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.1` |\n| [pycollada](https://github.com/pycollada/pycollada) | `0.9.2` | `0.9.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.13.3` | `1.19.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| [pyopenxr](https://github.com/cmbruns/pyopenxr) | `1.1.4601` | `1.1.5301` |\n| pyoptools | `0.2.1` | `0.3.7` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.1.4` | `3.3.2` |\n| [pypresence](https://github.com/qwertyquerty/pypresence) | `4.3.0` | `4.6.1` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.5.0` | `3.7.2` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.44.2` | `0.46.5` |\n| [pywavelets](https://github.com/PyWavelets/pywt) | `1.4.1` | `1.9.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.0` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.21.0` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.3.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.10.1` | `1.17.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.48.0` | `2.50.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8.3` |\n| [streamdeck](https://github.com/abcminiuser/python-elgato-streamdeck) | `0.9.6` | `0.9.8` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.7.2` | `2.8.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.6.0` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2023.7.10` | `2026.1.14` |\n| [trimesh](https://github.com/mikedh/trimesh) | `4.10.1` | `4.11.1` |\n| [txaio](https://github.com/crossbario/txaio) | `23.1.1` | `25.12.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.2` | `5.3.1` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.6.3` |\n| [vtk](https://vtk.org) | `9.3.1` | `9.5.2` |\n| [xarray](https://github.com/pydata/xarray) | `2023.1.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.20.2` | `3.23.0` |\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 21.3.1 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eDevelopment Build fork-68427734-oberstet_autobahn_python-strict_typing_test-202601141357\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: 1c7d45cd\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-14 14:02:37 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cp\u003eDownload the appropriate wheel for your platform:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install \u0026lt;downloaded-wheel-file\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eArtifact Inventory\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-cee77a0c-bblommers_autobahn_python-chore_apply_ruff_up-202601092138\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: b006e90e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-09 21:43:05 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v21.3.1...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.6.10 to 2.8.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.11\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add behavior cls validation hook by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3710\"\u003escikit-hep/awkward#3710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a playground for cccl studies by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3734\"\u003escikit-hep/awkward#3734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add cuda.compute implementation to CCCL study by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: ability to optionally disable the caching of virtual arrays on themselves by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3741\"\u003escikit-hep/awkward#3741\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: string array numpy conversion fails with int32 offsets from parquet by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3697\"\u003escikit-hep/awkward#3697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only check length against empty form in \u003ccode\u003eak.from_buffers\u003c/code\u003e if it is known by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3714\"\u003escikit-hep/awkward#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typestr respects now limit_cols for .show and \u003cem\u003erepr_mimebundle\u003c/em\u003e by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3712\"\u003escikit-hep/awkward#3712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.__bool__ \u003c/code\u003e raises \u003ccode\u003eTypeError\u003c/code\u003e when builder length is 1 by \u003ca href=\"https://github.com/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent teardown from crashing GPU test suite by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3747\"\u003escikit-hep/awkward#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hide awkward.ak_* and awkward.str.akstr_* from 'awkward' and 'awkward.str' module by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3752\"\u003escikit-hep/awkward#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: align multi-level indices before merge in \u003ccode\u003eto_dataframe()\u003c/code\u003e by \u003ca href=\"https://github.com/TaiSakuma\"\u003e\u003ccode\u003e@​TaiSakuma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3733\"\u003escikit-hep/awkward#3733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: numba test failures on Python 3.14 by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3757\"\u003escikit-hep/awkward#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in \u003ccode\u003eto_IndexedOptionArray64\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3727\"\u003escikit-hep/awkward#3727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: weights should not be raised to the power n in the n-th moment calculation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3729\"\u003escikit-hep/awkward#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3728\"\u003escikit-hep/awkward#3728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; PlaceholderArrays by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3751\"\u003escikit-hep/awkward#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for \u003ccode\u003eaxis=None\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3765\"\u003escikit-hep/awkward#3765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: fix compilation on self-hosted CI and test with multiple versions of CUDA by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3704\"\u003escikit-hep/awkward#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update acknowledgements to include NumFOCUS affiliation by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3708\"\u003escikit-hep/awkward#3708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3709\"\u003escikit-hep/awkward#3709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: pytest log_level is better than log_cli_level by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3719\"\u003escikit-hep/awkward#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update requirements files for latest possible python versions by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3739\"\u003escikit-hep/awkward#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions 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/scikit-hep/awkward/pull/3744\"\u003escikit-hep/awkward#3744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3754\"\u003escikit-hep/awkward#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove CUDA 11 support by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3758\"\u003escikit-hep/awkward#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macos-15-intel for x86 wheel building and testing by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3720\"\u003escikit-hep/awkward#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add new versions to version selector by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3707\"\u003escikit-hep/awkward#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: 3.14 is supported by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3717\"\u003escikit-hep/awkward#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add T90REAL as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3742\"\u003escikit-hep/awkward#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add dependency and version change guidelines by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3745\"\u003escikit-hep/awkward#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add shwina as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3759\"\u003escikit-hep/awkward#3759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add an example summation reducer using cccl by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3762\"\u003escikit-hep/awkward#3762\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/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.10\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: preserve field order when replacing existing fields in with_field by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3681\"\u003escikit-hep/awkward#3681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add to_/from_safetensors by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3685\"\u003escikit-hep/awkward#3685\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/scikit-hep/awkward/commit/c4a2e57b47f6738670ffc0e4781a3990e7c3ff03\"\u003e\u003ccode\u003ec4a2e57\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/60072263c91fd8d5df48b487427319c5a10ae70d\"\u003e\u003ccode\u003e6007226\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0ad8b1e25b0bd493508bade8ab8d79a383a854a0\"\u003e\u003ccode\u003e0ad8b1e\u003c/code\u003e\u003c/a\u003e fix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for `axis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0941b378a8236a660990bd02d2c14e4d6593f28e\"\u003e\u003ccode\u003e0941b37\u003c/code\u003e\u003c/a\u003e fix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; Pla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/efea08c134963bc37c1013adc4ab320ebeb4d7a3\"\u003e\u003ccode\u003eefea08c\u003c/code\u003e\u003c/a\u003e chore(ci): use macos-15-intel for x86 wheel building and testing (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/87765b6adb379ba27b0f6b984607c250443b170c\"\u003e\u003ccode\u003e87765b6\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/306274c1fd6028ed549fa0f9a5e47a8bd76e693c\"\u003e\u003ccode\u003e306274c\u003c/code\u003e\u003c/a\u003e fix: weights should not be raised to the power n in the n-th moment calculati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/8872e1f4ffd781b07c2a661c235dc2d0a5f5bade\"\u003e\u003ccode\u003e8872e1f\u003c/code\u003e\u003c/a\u003e fix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in `to_IndexedOption...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1594a70bb0d39e174996275dd251305a13f83b2b\"\u003e\u003ccode\u003e1594a70\u003c/code\u003e\u003c/a\u003e fix: numba test failures on Python 3.14 (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/ca066ddc96dd690d52956535fc7422de71ed92e3\"\u003e\u003ccode\u003eca066dd\u003c/code\u003e\u003c/a\u003e feat: ability to optionally disable the caching of virtual arrays on themselv...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.6.10...v2.8.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 40 to 51\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\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/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\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/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.12 to 1.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junk...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/Addons/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FAddons/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"},{"uuid":"3782132723","node_id":"PR_kwDOQHUFqc67kO2a","number":13,"state":"closed","title":"Bump the pip-updates group across 1 directory with 27 updates","user":"dependabot[bot]","labels":["skip-changelog"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T20:13:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T16:36:56.000Z","updated_at":"2026-01-12T20:13:35.000Z","time_to_close":617798,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-updates","update_count":27,"packages":[{"name":"pycairo","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/pygobject/pycairo"},{"name":"pygobject","old_version":"3.48.1","new_version":"3.54.5"},{"name":"gaphas","old_version":"4.0.0","new_version":"5.1.2","repository_url":"https://github.com/gaphor/gaphas"},{"name":"generic","old_version":"1.1.2","new_version":"1.1.6","repository_url":"https://github.com/gaphor/generic"},{"name":"tinycss2","old_version":"1.2.1","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"babel","old_version":"2.14.0","new_version":"2.17.0","repository_url":"https://github.com/python-babel/babel"},{"name":"jedi","old_version":"0.19.1","new_version":"0.19.2","repository_url":"https://github.com/davidhalter/jedi"},{"name":"pydot","old_version":"2.0.0","new_version":"4.0.1","repository_url":"https://github.com/pydot/pydot"},{"name":"pillow","old_version":"10.2.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pygit2","old_version":"1.14.1","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyobjc-framework-cocoa","old_version":"10.1","new_version":"12.1","repository_url":"https://github.com/ronaldoussoren/pyobjc"},{"name":"pytest","old_version":"8.1.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-randomly","old_version":"3.15.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"xdoctest","old_version":"1.1.3","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"hypothesis","old_version":"6.99.4","new_version":"6.149.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ipython","old_version":"8.22.2","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"sphinx","old_version":"7.2.6","new_version":"8.2.3","repository_url":"https://github.com/sphinx-doc/sphinx"},{"name":"pre-commit","old_version":"3.6.2","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"poethepoet","old_version":"0.25.0","new_version":"0.39.0","repository_url":"https://github.com/nat-n/poethepoet"},{"name":"sphinx-intl","old_version":"2.1.0","new_version":"2.3.2","repository_url":"https://github.com/sphinx-doc/sphinx-intl"},{"name":"myst-nb","old_version":"1.0.0","new_version":"1.3.0","repository_url":"https://github.com/executablebooks/myst-nb"},{"name":"pyinstaller","old_version":"6.5.0","new_version":"6.17.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-versionfile","old_version":"2.1.1","new_version":"3.0.1","repository_url":"https://github.com/DudeNr33/pyinstaller-versionfile"},{"name":"semver","old_version":"3.0.2","new_version":"3.0.4","repository_url":"https://github.com/python-semver/python-semver"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-updates group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pycairo](https://github.com/pygobject/pycairo) | `1.26.0` | `1.29.0` |\n| [pygobject](https://pygobject.gnome.org) | `3.48.1` | `3.54.5` |\n| [gaphas](https://github.com/gaphor/gaphas) | `4.0.0` | `5.1.2` |\n| [generic](https://github.com/gaphor/generic) | `1.1.2` | `1.1.6` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.2.1` | `1.5.1` |\n| [babel](https://github.com/python-babel/babel) | `2.14.0` | `2.17.0` |\n| [jedi](https://github.com/davidhalter/jedi) | `0.19.1` | `0.19.2` |\n| [pydot](https://github.com/pydot/pydot) | `2.0.0` | `4.0.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.2.0` | `12.1.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.14.1` | `1.19.1` |\n| [pyobjc-framework-cocoa](https://github.com/ronaldoussoren/pyobjc) | `10.1` | `12.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.1.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.15.0` | `4.0.1` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.1.3` | `1.3.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.99.4` | `6.149.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.22.2` | `9.9.0` |\n| [sphinx](https://github.com/sphinx-doc/sphinx) | `7.2.6` | `8.2.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `3.6.2` | `4.5.1` |\n| [poethepoet](https://github.com/nat-n/poethepoet) | `0.25.0` | `0.39.0` |\n| [sphinx-intl](https://github.com/sphinx-doc/sphinx-intl) | `2.1.0` | `2.3.2` |\n| [myst-nb](https://github.com/executablebooks/myst-nb) | `1.0.0` | `1.3.0` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.5.0` | `6.17.0` |\n| [pyinstaller-versionfile](https://github.com/DudeNr33/pyinstaller-versionfile) | `2.1.1` | `3.0.1` |\n| [semver](https://github.com/python-semver/python-semver) | `3.0.2` | `3.0.4` |\n\n\nUpdates `pycairo` from 1.26.0 to 1.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygobject/pycairo/releases\"\u003epycairo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.29.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-29-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-29-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-28-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-28-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-27-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-27-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.26.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-26-1\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-26-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/pygobject/pycairo/blob/main/NEWS\"\u003epycairo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.29.0 - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e:meth:\u003ccode\u003eImageSurface.get_data\u003c/code\u003e: Return empty memoryview for empty image :pr:\u003ccode\u003e418\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e: support empty images :pr:\u003ccode\u003e419\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 :pr:\u003ccode\u003e428\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for PyPy 3.10\u003c/li\u003e\n\u003cli\u003eSupport multi-phase init :pr:\u003ccode\u003e413\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eExperimental support for free-threaded Python :pr:\u003ccode\u003e430\u003c/code\u003e :pr:\u003ccode\u003e429\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (libpng, pixman) for the Windows wheels :pr:\u003ccode\u003e431\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild: add \u0026quot;no-x11\u0026quot; option to disable X11 surface support :pr:\u003ccode\u003e432\u003c/code\u003e :issue:\u003ccode\u003e420\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edev: support uv for development :pr:\u003ccode\u003e433\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v1.28.0:\u003c/p\u003e\n\u003ch2\u003e1.28.0 - 2025-04-14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanges:\n\u003cul\u003e\n\u003cli\u003eRemove hypothesis test dependency :pr:\u003ccode\u003e398\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated cairo in Windows wheels from 1.18.2 to 1.18.4 :pr:\u003ccode\u003e393\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide arm64 Windows wheels again\u003c/li\u003e\n\u003cli\u003eRelease the input buffer passed to :meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e\nwhen calling :meth:\u003ccode\u003eSurface.finish\u003c/code\u003e already, not just when the underlying\nsurface is destroyed :pr:\u003ccode\u003e405\u003c/code\u003e :issue:\u003ccode\u003e392\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReturn a :class:\u003ccode\u003ePathDataType\u003c/code\u003e (:class:\u003ccode\u003eint\u003c/code\u003e subtype) instead of\n:class:\u003ccode\u003eint\u003c/code\u003e with :meth:\u003ccode\u003ePath.__iter__\u003c/code\u003e :pr:\u003ccode\u003e410\u003c/code\u003e. This was missed in the\n1.13.0 enum change.\u003c/li\u003e\n\u003cli\u003eEmit a :class:\u003ccode\u003eDeprecationWarning\u003c/code\u003e in case :meth:\u003ccode\u003eImageSurface.get_data\u003c/code\u003e\nis called on an already finished surface :pr:\u003ccode\u003e400\u003c/code\u003e :pr:\u003ccode\u003e412\u003c/code\u003e. In a future\nversion this will raise an exception instead.\u003c/li\u003e\n\u003cli\u003eEmit a :class:\u003ccode\u003eDeprecationWarning\u003c/code\u003e for the undocumented \u003ccode\u003enum_glyphs\u003c/code\u003e\nparameter in :meth:\u003ccode\u003eContext.glyph_extents\u003c/code\u003e, :meth:\u003ccode\u003eContext.glyph_path\u003c/code\u003e,\n:meth:\u003ccode\u003eContext.show_glyphs\u003c/code\u003e, :meth:\u003ccode\u003eScaledFont.glyph_extents\u003c/code\u003e :pr:\u003ccode\u003e409\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixes:\n\u003cul\u003e\n\u003cli\u003eRemove the executable bit from \u003ccode\u003ecairo/__init__.py\u003c/code\u003e :pr:\u003ccode\u003e383\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove usage of removed \u003ccode\u003etyping.ByteString\u003c/code\u003e to fix compatibility with\nPython 3.14.0a1 :pr:\u003ccode\u003e389\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix pygame integration example using the wrong format :pr:\u003ccode\u003e411\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTyping fixes (no API changes, just type annotations):\n\u003cul\u003e\n\u003cli\u003eInclude :class:\u003ccode\u003eos.PathLike\u003c/code\u003e for parameters accepting file paths :pr:\u003ccode\u003e401\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFor :meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e include all writable buffer types\nand not just :class:\u003ccode\u003ememoryview\u003c/code\u003e :pr:\u003ccode\u003e402\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eOptional\u003c/code\u003e for :meth:\u003ccode\u003eSurface.set_mime_data\u003c/code\u003e,\n:meth:\u003ccode\u003eSVGSurface.__init__\u003c/code\u003e :meth:\u003ccode\u003ePDFSurface.__init__\u003c/code\u003e,\n:meth:\u003ccode\u003ePSSurface.__init__\u003c/code\u003e, :meth:\u003ccode\u003eRecordingSurface.__init__\u003c/code\u003e :pr:\u003ccode\u003e404\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd various missing :class:\u003ccode\u003ePath\u003c/code\u003e dunder methods like \u003ccode\u003e__iter__\u003c/code\u003e,\n\u003ccode\u003e__eq__\u003c/code\u003e, \u003ccode\u003e__lt__\u003c/code\u003e, etc. :pr:\u003ccode\u003e408\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003e__getitem__\u003c/code\u003e and \u003ccode\u003e__mul__\u003c/code\u003e for :class:\u003ccode\u003eMatrix\u003c/code\u003e :pr:\u003ccode\u003e408\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/f2c40870be2d5e9d15ecee339e1d5e30d82c7959\"\u003e\u003ccode\u003ef2c4087\u003c/code\u003e\u003c/a\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/af6cde4bd38636f2c44f1927c84562d47b5d1c80\"\u003e\u003ccode\u003eaf6cde4\u003c/code\u003e\u003c/a\u003e Update mypy/pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/06837cac265bdcad76d56ba2aadbe8e335fd01d8\"\u003e\u003ccode\u003e06837ca\u003c/code\u003e\u003c/a\u003e docs: add something for uv as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/315fa252c45c12483edc7ecc166e20eb0d6859f9\"\u003e\u003ccode\u003e315fa25\u003c/code\u003e\u003c/a\u003e CI: use uv where possible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/d08b1c202a9f7832841c2e38ebfba398b0909c6e\"\u003e\u003ccode\u003ed08b1c2\u003c/code\u003e\u003c/a\u003e build: add no-x11 option to disable X11 surface support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/7ac832eb4e7e9b90cff6fa8a48366e0d010bdb85\"\u003e\u003ccode\u003e7ac832e\u003c/code\u003e\u003c/a\u003e Update cairo wheel deps to 1.18.4-v2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/67211fec92b7ae698d75ca3bb2b0c9342a80214c\"\u003e\u003ccode\u003e67211fe\u003c/code\u003e\u003c/a\u003e CI: build docs with 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/d086cba438e23280d7f248b1b680d384ebe33e5c\"\u003e\u003ccode\u003ed086cba\u003c/code\u003e\u003c/a\u003e CI: enable 314t tests + wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/51568ce292d5ed71f53611fd599cf7f054fed53a\"\u003e\u003ccode\u003e51568ce\u003c/code\u003e\u003c/a\u003e CI: Update all actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/2d53a8ec69c0f9bb0ff0828d422afa832852e798\"\u003e\u003ccode\u003e2d53a8e\u003c/code\u003e\u003c/a\u003e Set Py_MOD_GIL_NOT_USED\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pygobject/pycairo/compare/v1.26.0...v1.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygobject` from 3.48.1 to 3.54.5\n\nUpdates `gaphas` from 4.0.0 to 5.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gaphor/gaphas/releases\"\u003egaphas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.1.2 - Maintenance\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CodeQL job to also scan github actions \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not raise KeyError for removal of unknown items \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eREADME: Update development environment packages \u003ca href=\"https://github.com/cjmayo\"\u003e\u003ccode\u003e@​cjmayo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coverage and maintainability report \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/931\"\u003e#931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace pr-labeler-action with actions/labeler \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/904\"\u003e#904\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cjmayo\"\u003e\u003ccode\u003e@​cjmayo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.1.1 - Fix regression\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix gaphor pip installs \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.1.0 - Custom item and handle finder\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCustom item and handle finder \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten security again \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eRelease 5.0.3\u003c/h2\u003e\n\u003cp\u003eMake the release process work again.\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.2 - Fix the release process\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSomething changed in the PyPI release process \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.1 - Fix moving items\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix macOS drag \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/887\"\u003e#887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Poetry to 2.1.1, enable end-of-file-fixer \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/878\"\u003e#878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI updates for egress and update runners \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock egress to unknown endpoints in CI, update dependencies \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Poetry to version 2.0.0 \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/869\"\u003e#869\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.0 - The era of async/await\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/gaphor/gaphas/commit/473b1951e073185bcdca58ceb49e5d2c132442ca\"\u003e\u003ccode\u003e473b195\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/975\"\u003e#975\u003c/a\u003e from gaphor/codeql-for-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/72d5712bde9d6c589ecff902e8ee1e9050f60201\"\u003e\u003ccode\u003e72d5712\u003c/code\u003e\u003c/a\u003e Bump version to 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/1a44bfac0993dfa1ec47d8a6268b7b5268d2059d\"\u003e\u003ccode\u003e1a44bfa\u003c/code\u003e\u003c/a\u003e Build with Python 3.14, drop Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/f0750399a55e45721780a03e4ad9629c8330d2f3\"\u003e\u003ccode\u003ef075039\u003c/code\u003e\u003c/a\u003e Update CodeQL job to also scan github actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/ff061568c05049c30f6666416ae01c8796ab8d8c\"\u003e\u003ccode\u003eff06156\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/974\"\u003e#974\u003c/a\u003e from gaphor/lenient-quadtree-remove\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/8bd70827b707f99ccece004e59c395ae20289b86\"\u003e\u003ccode\u003e8bd7082\u003c/code\u003e\u003c/a\u003e Do not raise KeyError for removal of unknown items\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/23fda728bd70e692be6c77c93f69859978c379b6\"\u003e\u003ccode\u003e23fda72\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/016b2c52b1b8f3ea7154f3e8ce396c94e9bdd8f3\"\u003e\u003ccode\u003e016b2c5\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in the pip-updates group (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/3ddf8e6639f2e6b69b89a37db64041049e05690a\"\u003e\u003ccode\u003e3ddf8e6\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action in the github-action-updates group (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/0df80d5b928b8d94ab191258feb9b4c4222f2dd8\"\u003e\u003ccode\u003e0df80d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/970\"\u003e#970\u003c/a\u003e from gaphor/pre-commit-update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gaphor/gaphas/compare/4.0.0...5.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `generic` from 1.1.2 to 1.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gaphor/generic/releases\"\u003egeneric's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.6 - Maintenance\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CodeQL analysis for GitHub Actions \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCode improvements \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/631\"\u003e#631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpload coverage report \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactoring and changes update \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 1.1.5 - Super types\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression where super-types are not looked up \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix RtD build \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.1.4 - Dependency updates\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump version to 1.1.4 \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Poetry to 2.1.1, enable end-of-file-fixer pre-commit hook \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the readthedocs runner and Python version \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix build with recent sphinx \u003ca href=\"https://github.com/City-busz\"\u003e\u003ccode\u003e@​City-busz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix pre-commit CI updates \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Poetry to version 2.0.1 \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock egress in CI and update dependencies \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/City-busz\"\u003e\u003ccode\u003e@​City-busz\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\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/gaphor/generic/commit/2ff1b8bf23ae688089badde2f365f0fff48645e6\"\u003e\u003ccode\u003e2ff1b8b\u003c/code\u003e\u003c/a\u003e Add CodeQL analysis for GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/dd7da2733899995f7a35b8f5728d17805881c782\"\u003e\u003ccode\u003edd7da27\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/3189efe6313a85256b654acb714802812d98221a\"\u003e\u003ccode\u003e3189efe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action in the github-action-updates group (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/c4a3e15ad7315d978c47e3f5c8b61eae7db5e36e\"\u003e\u003ccode\u003ec4a3e15\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in the pip-updates group (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/2915fa2bcc2967143040fd5dfc39f6ad0c2c0b24\"\u003e\u003ccode\u003e2915fa2\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/f11853527fbe1f67b3e869773e6550812a1472b8\"\u003e\u003ccode\u003ef118535\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/649\"\u003e#649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/03ae163faf0b3db9e425e37ed18814d3e6806e27\"\u003e\u003ccode\u003e03ae163\u003c/code\u003e\u003c/a\u003e Bump the github-action-updates group with 5 updates (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/b3e696e52a1ab34bd05d21f2bcede67c04b63095\"\u003e\u003ccode\u003eb3e696e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/645\"\u003e#645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/99033e8ebdf0666c262d413408dfab5b549f348f\"\u003e\u003ccode\u003e99033e8\u003c/code\u003e\u003c/a\u003e Bump the github-action-updates group across 1 directory with 6 updates (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/60bb6649a291dc2a753a7f68223ca11aabe104f7\"\u003e\u003ccode\u003e60bb664\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.5.0 to 2.6.0 (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gaphor/generic/compare/1.1.2...1.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tinycss2` from 1.2.1 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/tinycss2/releases\"\u003etinycss2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude parsing tests in source tarball\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport most of CSS Color Level 5\u003c/li\u003e\n\u003cli\u003eFix tokenizer crash on escaped Dimension units and Function names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS Color Level 4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS nesting\u003c/li\u003e\n\u003cli\u003eDeprecate parse_declaration_list, use parse_blocks_contents instead\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/Kozea/tinycss2/blob/main/docs/changelog.rst\"\u003etinycss2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-23.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInclude parsing tests in source tarball\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-19.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport most of CSS Color Level 5\u003c/li\u003e\n\u003cli\u003eFix tokenizer crash on escaped Dimension units and Function names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2024-10-24.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS Color Level 4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.3.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2024-04-23.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS nesting\u003c/li\u003e\n\u003cli\u003eDeprecate parse_declaration_list, use parse_blocks_contents instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/f295a49711a4d348664bba7fb34113b3b4b78cb2\"\u003e\u003ccode\u003ef295a49\u003c/code\u003e\u003c/a\u003e Version 1.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/282de7e6e835c21f05dfee15841b0dbf3d904c61\"\u003e\u003ccode\u003e282de7e\u003c/code\u003e\u003c/a\u003e Version 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/a4a03f1a13f7687970a52777ead171e2d2c55fed\"\u003e\u003ccode\u003ea4a03f1\u003c/code\u003e\u003c/a\u003e Add release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/c59b3941480342d18c28bb7259b161a0726a0d06\"\u003e\u003ccode\u003ec59b394\u003c/code\u003e\u003c/a\u003e Add documentation for color modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/36b3f6a47e2e36ab8a8169cced00c131a267a181\"\u003e\u003ccode\u003e36b3f6a\u003c/code\u003e\u003c/a\u003e Update supported and tested Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/5e6026fd3a0a5c8d594f9fdf0fa1ce348293ea2d\"\u003e\u003ccode\u003e5e6026f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Kozea/tinycss2/issues/64\"\u003e#64\u003c/a\u003e from Kozea/css-color5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/725d2b5efc49b2b8c5627583769b5bbd16b3c780\"\u003e\u003ccode\u003e725d2b5\u003c/code\u003e\u003c/a\u003e Simplify test_color_functions_5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/c3f7a926e369a0b4f1979921549419b4c434bbc9\"\u003e\u003ccode\u003ec3f7a92\u003c/code\u003e\u003c/a\u003e Readd removed tests (oopsi)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/1e47dd105e135537b7196f5f7f5d68ae6b4d062f\"\u003e\u003ccode\u003e1e47dd1\u003c/code\u003e\u003c/a\u003e Manage None color in _build_color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/4247cb73ced9513358f61b03aa5d4040a5e2d3b8\"\u003e\u003ccode\u003e4247cb7\u003c/code\u003e\u003c/a\u003e Remove unused variables\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kozea/tinycss2/compare/v1.2.1...v1.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.14.0 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-babel/babel/releases\"\u003ebabel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.17.0\u003c/h2\u003e\n\u003cp\u003eHappy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium. 🇧🇪\u003c/p\u003e\n\u003cp\u003eThank you to all contributors, new and old, and here's to another great year of internationalization and localization!\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eThe changelog below is auto-generated by GitHub.\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/b50a1d2186c20f3359f7e10853d2b2225a46ed40/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for additional details.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings for \u003ccode\u003edatetime.utcnow()\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1119\"\u003epython-babel/babel#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose white spaces in references by \u003ca href=\"https://github.com/Dunedan\"\u003e\u003ccode\u003e@​Dunedan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1105\"\u003epython-babel/babel#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003estr.index\u003c/code\u003e with \u003ccode\u003estr.find\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1130\"\u003epython-babel/babel#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace more alternate characters in \u003ccode\u003eformat_skeleton\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1122\"\u003epython-babel/babel#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extracted lineno with nested calls by \u003ca href=\"https://github.com/dylankiss\"\u003e\u003ccode\u003e@​dylankiss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1126\"\u003epython-babel/babel#1126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;Deleted duplicate code in test\u0026quot; by \u003ca href=\"https://github.com/mattdiaz007\"\u003e\u003ccode\u003e@​mattdiaz007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1138\"\u003epython-babel/babel#1138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix of list index out of range error in PoFileParser.add_message when translations is empty by \u003ca href=\"https://github.com/gabe-sherman\"\u003e\u003ccode\u003e@​gabe-sherman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1135\"\u003epython-babel/babel#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake seconds optional in \u003ccode\u003eparse_time\u003c/code\u003e time formats by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1141\"\u003epython-babel/babel#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003ewraptext\u003c/code\u003e deprecated; use \u003ccode\u003eTextWrapper\u003c/code\u003e directly in \u003ccode\u003ewrite_po\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1140\"\u003epython-babel/babel#1140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the way obsolete messages are stored by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1132\"\u003epython-babel/babel#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eOrderedDict\u003c/code\u003e with just \u003ccode\u003edict\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1149\"\u003epython-babel/babel#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse CLDR 46 by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1145\"\u003epython-babel/babel#1145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use python 3.13 and Ubuntu 24.04 by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1153\"\u003epython-babel/babel#1153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust docs/conf.py to add compatibility with sphinx 8 by \u003ca href=\"https://github.com/hrnciar\"\u003e\u003ccode\u003e@​hrnciar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1155\"\u003epython-babel/babel#1155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow specifying an explicit format in parse_date/parse_time by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1131\"\u003epython-babel/babel#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003eread_mo\u003c/code\u003e logic regarding \u003ccode\u003ecatalog.charset\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1148\"\u003epython-babel/babel#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI/tool versions by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1160\"\u003epython-babel/babel#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check_and_call_extract_file uses the first matching method and options, instead of the first matching method and last matching options by \u003ca href=\"https://github.com/jpmckinney\"\u003e\u003ccode\u003e@​jpmckinney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1121\"\u003epython-babel/babel#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent wrapping file locations containing white space by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1120\"\u003epython-babel/babel#1120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tzdata as dev dependency and sync with tox.ini by \u003ca href=\"https://github.com/wandrew004\"\u003e\u003ccode\u003e@​wandrew004\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1159\"\u003epython-babel/babel#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport short and narrow formats for format_timedelta when using \u003ccode\u003eadd_direction\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1163\"\u003epython-babel/babel#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove handling for \u003ccode\u003elocale=None\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1164\"\u003epython-babel/babel#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003epytest.raises(match=...)\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1166\"\u003epython-babel/babel#1166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip extra leading slashes in \u003ccode\u003e/etc/localtime\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1165\"\u003epython-babel/babel#1165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove redundant assignment in \u003ccode\u003eCatalog.__setitem__\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1167\"\u003epython-babel/babel#1167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanups by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1170\"\u003epython-babel/babel#1170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall test cleanup by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1172\"\u003epython-babel/babel#1172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eMessage.python_brace_format\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1169\"\u003epython-babel/babel#1169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImport \u003ccode\u003eLiteral\u003c/code\u003e from the typing module by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1175\"\u003epython-babel/babel#1175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer LC_MONETARY when formatting currencies by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1173\"\u003epython-babel/babel#1173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix dates formatting \u003ccode\u003eY\u003c/code\u003e, \u003ccode\u003ew\u003c/code\u003e and \u003ccode\u003eW\u003c/code\u003e symbols for week-numbering by \u003ca href=\"https://github.com/jun66j5\"\u003e\u003ccode\u003e@​jun66j5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1179\"\u003epython-babel/babel#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage of the \u003ccode\u003epython_format\u003c/code\u003e checker by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1176\"\u003epython-babel/babel#1176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for 2.17.0 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1182\"\u003epython-babel/babel#1182\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/Dunedan\"\u003e\u003ccode\u003e@​Dunedan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1105\"\u003epython-babel/babel#1105\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/python-babel/babel/blob/master/CHANGES.rst\"\u003ebabel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.17.0\u003c/h2\u003e\n\u003cp\u003eHappy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium.\u003c/p\u003e\n\u003cp\u003eThank you to all contributors, new and old,\nand here's to another great year of internationalization and localization!\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* CLDR: Babel now uses CLDR 46, by @tomasr8 in :gh:`1145`\n* Dates: Allow specifying an explicit format in parse_date/parse_time by @tomasr8 in :gh:`1131`\n* Dates: More alternate characters are now supported by `format_skeleton`. By @tomasr8 in :gh:`1122`\n* Dates: Support short and narrow formats for format_timedelta when using `add_direction`, by @akx in :gh:`1163`\n* Messages: .po files now enclose white spaces in filenames like GNU gettext does. By @Dunedan in :gh:`1105`, and @tomasr8 in :gh:`1120`\n* Messages: Initial support for `Message.python_brace_format`, by @tomasr8 in :gh:`1169`\n* Numbers: LC_MONETARY is now preferred when formatting currencies, by @akx in :gh:`1173`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDates: Make seconds optional in \u003ccode\u003eparse_time\u003c/code\u003e time formats by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1141\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Replace \u003ccode\u003estr.index\u003c/code\u003e with \u003ccode\u003estr.find\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1130\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Strip extra leading slashes in \u003ccode\u003e/etc/localtime\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1165\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Week numbering and formatting of dates with week numbers was repaired by \u003ca href=\"https://github.com/jun66j5\"\u003e\u003ccode\u003e@​jun66j5\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1179\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Improve handling for \u003ccode\u003elocale=None\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1164\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Remove redundant assignment in \u003ccode\u003eCatalog.__setitem__\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1167\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix extracted lineno with nested calls, by \u003ca href=\"https://github.com/dylankiss\"\u003e\u003ccode\u003e@​dylankiss\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1126\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix of list index out of range when translations is empty, by \u003ca href=\"https://github.com/gabe-sherman\"\u003e\u003ccode\u003e@​gabe-sherman\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1135\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix the way obsolete messages are stored by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1132\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Simplify \u003ccode\u003eread_mo\u003c/code\u003e logic regarding \u003ccode\u003ecatalog.charset\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1148\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Use the first matching method \u0026amp; options, rather than first matching method \u0026amp; last options, by \u003ca href=\"https://github.com/jpmckinney\"\u003e\u003ccode\u003e@​jpmckinney\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1121\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecation and compatibility\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Dates: Fix deprecation warnings for `datetime.utcnow()` by @tomasr8 in :gh:`1119`\n* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by @hrnciar in :gh:`1155`\n* General: Import `Literal` from the typing module by @tomasr8 in :gh:`1175`\n* General: Replace `OrderedDict` with just `dict` by @tomasr8 in :gh:`1149`\n* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in `write_po` by @akx in :gh:`1140`\n\u003cp\u003eInfrastructure\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add tzdata as dev dependency and sync with tox.ini by @wandrew004 in :gh:`1159`\n* Duplicate test code was deleted by @mattdiaz007 in :gh:`1138`\n* Increase test coverage of the `python_format` checker by @tomasr8 in :gh:`1176`\n* Small cleanups by @akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and :gh:`1172`\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b50a1d2\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Prepare for 2.17.0 (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1182\u0026quot;\u0026gt;#1182\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394\u0026quot;\u0026gt;\u0026lt;code\u0026gt;5f117b2\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Increase test coverage of the \u0026lt;code\u0026gt;python_format\u0026lt;/code\u0026gt; checker (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1176\u0026quot;\u0026gt;#1176\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;363ad75\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix dates formatting \u0026lt;code\u0026gt;Y\u0026lt;/code\u0026gt;, \u0026lt;code\u0026gt;w\u0026lt;/code\u0026gt; and \u0026lt;code\u0026gt;W\u0026lt;/code\u0026gt; symbols for week-numbering (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1179\u0026quot;\u0026gt;#1179\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e9c3ef8\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Merge pull request \u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1173\u0026quot;\u0026gt;#1173\u0026lt;/a\u0026gt; from python-babel/lc-monetary-2\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3\u0026quot;\u0026gt;\u0026lt;code\u0026gt;56ef7c7\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Prefer LC_MONETARY when formatting currency\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832\u0026quot;\u0026gt;\u0026lt;code\u0026gt;aee6d69\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;code\u0026gt;default_locale\u0026lt;/code\u0026gt;: support multiple keys\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2d8a808\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Import \u0026lt;code\u0026gt;Literal\u0026lt;/code\u0026gt; \u0026amp;amp; \u0026lt;code\u0026gt;TypedDict\u0026lt;/code\u0026gt; from the typing module (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1175\u0026quot;\u0026gt;#1175\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6\u0026quot;\u0026gt;\u0026lt;code\u0026gt;98b9562\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Add basic support for \u0026lt;code\u0026gt;Message.python_brace_format\u0026lt;/code\u0026gt; (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1169\u0026quot;\u0026gt;#1169\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;0c1091c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Small test cleanup (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1172\u0026quot;\u0026gt;#1172\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9\u0026quot;\u0026gt;\u0026lt;code\u0026gt;db48791\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Merge pull request \u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1170\u0026quot;\u0026gt;#1170\u0026lt;/a\u0026gt; from python-babel/small-cleanup\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/compare/v2.14.0...v2.17.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `jedi` from 0.19.1 to 0.19.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/davidhalter/jedi/blob/master/CHANGELOG.rst\"\u003ejedi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.19.2 (2024-11-10)\n+++++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.13 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/41e9e957e7fce02e63a41af66c9c891e33411569\"\u003e\u003ccode\u003e41e9e95\u003c/code\u003e\u003c/a\u003e Increase Jedi version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/b225678a4240039ce281b989ba2276fb4d137672\"\u003e\u003ccode\u003eb225678\u003c/code\u003e\u003c/a\u003e Add a release for Python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/30adf43a8929ade8a9e0abee6921a5043c962215\"\u003e\u003ccode\u003e30adf43\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2027\"\u003e#2027\u003c/a\u003e from WutingjiaX/feat/filterImported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/be6df6243419d2ca9639aa55678e1a81eebfe1fa\"\u003e\u003ccode\u003ebe6df62\u003c/code\u003e\u003c/a\u003e filter imported names during completion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/e53359ad88a5aac62a7b0e1b6aa12364c1f00861\"\u003e\u003ccode\u003ee53359a\u003c/code\u003e\u003c/a\u003e Fix a test that had issues with a minor upgrade of Python 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/6e5d5b779cd4e4bcaece49982926607941d71b17\"\u003e\u003ccode\u003e6e5d5b7\u003c/code\u003e\u003c/a\u003e Enable workflow_dispatch in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/91ffdead3291263a356a66e40c7e82cfa431107f\"\u003e\u003ccode\u003e91ffdea\u003c/code\u003e\u003c/a\u003e Sort completions by input resemblance. (\u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/2859e4f409fad690f61f6cb90073f8cd7e81cf22\"\u003e\u003ccode\u003e2859e4f\u003c/code\u003e\u003c/a\u003e Support inferring not expr to bool (\u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2016\"\u003e#2016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/8ee4c26ae4ad93dfc2dad0aca540d670cdba59f0\"\u003e\u003ccode\u003e8ee4c26\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2014\"\u003e#2014\u003c/a\u003e from WutingjiaX/feat/in_operator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/4d09ac07e41a129470bbaf2de7fb63cb1117661e\"\u003e\u003ccode\u003e4d09ac0\u003c/code\u003e\u003c/a\u003e When inferring comparison operators, return a definite type instead of NO_VAL...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/davidhalter/jedi/compare/v0.19.1...v0.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydot` from 2.0.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydot/pydot/blob/main/ChangeLog\"\u003epydot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-06-17)\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated pyparsing to \u003ccode\u003e\u0026gt;=3.1.0\u003c/code\u003e. Required for pydot to function correctly. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParser: Fixed 'strict' handling. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/480\"\u003e#480\u003c/a\u003e)\nThe parser wasn't capturing the 'strict' keyword when parsing dot data. Now it does.\u003c/li\u003e\n\u003cli\u003eParser: Support backslash continuation in quoted IDs. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParser: Support +-concatenated quoted strings. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-05-04)\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded initial type annotations. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/430\"\u003e#430\u003c/a\u003e)\nThere are still a lot of \u003ccode\u003eAny\u003c/code\u003es, but Pydot now officially supports type annotations.\u003c/li\u003e\n\u003cli\u003eAdded (fixed) complex edge parsing. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/467\"\u003e#467\u003c/a\u003e)\nThe parser now supports edges that contain subgraph endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify \u003ccode\u003eCommon.get_top_graph_type\u003c/code\u003e with a default. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine parser elements in a separate \u003ccode\u003eGraphParser\u003c/code\u003e class. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/464\"\u003e#464\u003c/a\u003e)\nIt's a user-transparent change, but now it's easier to debug, test, and modify the parser.\nSee the related Pull Request for more information.\u003c/li\u003e\n\u003cli\u003eImprove return values and typing of setters and getters. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/470\"\u003e#470\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid subprocess window creation within \u003ccode\u003ecall_graphviz\u003c/code\u003e on Windows. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/431\"\u003e#431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved a blank line inserted after subgraphs in the \u003ccode\u003eto_string()\u003c/code\u003e output. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the issue where the parser breaks off lines at hash symbol following a HTML tag (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved old, unused \u003ccode\u003eCommon.__get_attribute__\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.4 (2025-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed capitalized keywords in labels being unquoted. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/449\"\u003e#449\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydot/pydot/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed numeric quoting behavior. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.2 (2024-09-25)\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/pydot/pydot/commit/b60b6687565423540839f5d440ba90d2f8271303\"\u003e\u003ccode\u003eb60b668\u003c/code\u003e\u003c/a\u003e Preparing release 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/910b19137fb34743cfb84e6e7b92ce6a21465c1d\"\u003e\u003ccode\u003e910b191\u003c/code\u003e\u003c/a\u003e Prepare changelog for 4.0.1 (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/f18cbcb06ec192e80dabc1ed7603e496e4c3b46f\"\u003e\u003ccode\u003ef18cbcb\u003c/code\u003e\u003c/a\u003e Parser: Support +-concatenated quoted strings (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/015c0dc9dc50a7acb7a992fe433169d9a0264db6\"\u003e\u003ccode\u003e015c0dc\u003c/code\u003e\u003c/a\u003e Parser: Support backslash continuation in quoted IDs (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/8f5e9bdf102c57e61d6bf435abf4efb941ca18e4\"\u003e\u003ccode\u003e8f5e9bd\u003c/code\u003e\u003c/a\u003e (Nearly) complete dot_parser coverage (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/3a062bb2282fd6a6d17b0be27235d72f3f4ad7a3\"\u003e\u003ccode\u003e3a062bb\u003c/code\u003e\u003c/a\u003e Fix 'strict' handling in parser (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/89ba7d3a671c7b0aa0afecfcc827d5bc6e68d899\"\u003e\u003ccode\u003e89ba7d3\u003c/code\u003e\u003c/a\u003e Add \u003cstrong\u003efuture\u003c/strong\u003e.annotations imports (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/bc7ffac61a6fdc7fccd93ea00404eb1ddb6392d0\"\u003e\u003ccode\u003ebc7ffac\u003c/code\u003e\u003c/a\u003e Update pyparsing dependency (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/926c1c575fe035fe4c74b573080b9c962b36face\"\u003e\u003ccode\u003e926c1c5\u003c/code\u003e\u003c/a\u003e Drop Python 3.8 from CI, acknowledge it in readme (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/c37e44bfdadb31e91b4e3a96e0c832af65d60c12\"\u003e\u003ccode\u003ec37e44b\u003c/code\u003e\u003c/a\u003e Back to development: 4.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydot/pydot/compare/v2.0.0...v4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 10.2.0 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate getdata(), in favour of new get_flattened_data() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"\u003e#9292\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify APNG duration type when opening \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9368\"\u003e#9368\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9350\"\u003e#9350\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9366\"\u003e#9366\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate ImageMorph documentation \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9349\"\u003e#9349\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocs: update major bump cadence \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9334\"\u003e#9334\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9070\"\u003e#9070\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9320\"\u003e#9320\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated Ubuntu version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9306\"\u003e#9306\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9265\"\u003e#9265\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate harfbuzz to 12.3.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9355\"\u003e#9355\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate xz to 5.8.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9343\"\u003e#9343\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libjpeg-turbo to 3.1.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9333\"\u003e#9333\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated zlib-ng to 2.3.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9324\"\u003e#9324\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.53 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9325\"\u003e#9325\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate actions/checkout action to v6 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9323\"\u003e#9323\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.19.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9322\"\u003e#9322\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.51 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9305\"\u003e#9305\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated brotli to 1.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9284\"\u003e#9284\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libimagequant to 4.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9301\"\u003e#9301\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.3.1, except on manylinux2014 aarch64 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9312\"\u003e#9312\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 12.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9289\"\u003e#9289\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9277\"\u003e#9277\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTesting\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace pre-commit with prek \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9360\"\u003e#9360\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest PyQt6 on Python 3.14 on Windows \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9353\"\u003e#9353\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest 32-bit Windows on Windows Server 2022 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9345\"\u003e#9345\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eCorrect variable type \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9335\"\u003e#9335\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResourceWarning\u003c/code\u003es in \u003ccode\u003eselftest.py\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9332\"\u003e#9332\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix testing good P mode BMP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9319\"\u003e#9319\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest Python 3.15 pre-release \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9331\"\u003e#9331\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest ImageFont.ImageFont, in case freetype2 is not supported \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9287\"\u003e#9287\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd Fedora 43 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9290\"\u003e#9290\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove Fedora 41 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9260\"\u003e#9260\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType hints\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ImageFile context manager \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9367\"\u003e#9367\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAssert fp is not None \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8617\"\u003e#8617\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\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/python-pillow/Pillow/blob/main/CHANGES.rst\"\u003epillow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog (Pillow)\u003c/h1\u003e\n\u003ch2\u003e11.1.0 and newer\u003c/h2\u003e\n\u003cp\u003eSee GitHub Releases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003ehttps://github.com/python-pillow/Pillow/releases\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.0.0 (2024-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate licence to MIT-CMU \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8460\"\u003e#8460\u003c/a\u003e\n[hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally define ImageCms type hint to avoid requiring core \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8197\"\u003e#8197\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport writing LONG8 offsets in AppendingTiffWriter \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8417\"\u003e#8417\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ImageFile.MAXBLOCK when saving TIFF images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8461\"\u003e#8461\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDo not close provided file handles with libtiff when saving \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8458\"\u003e#8458\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport ImageFilter.BuiltinFilter for I;16* images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8438\"\u003e#8438\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ImagingCore.ptr instead of ImagingCore.id \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8341\"\u003e#8341\u003c/a\u003e\n[homm, radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated EPS mode when opening images without transparency \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8281\"\u003e#8281\u003c/a\u003e\n[Yay295, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse transparency when combining P frames from APNGs \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8443\"\u003e#8443\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport all resampling filters when resizing I;16* images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8422\"\u003e#8422\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFree memory on early return \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8413\"\u003e#8413\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCast int before potentially exceeding INT_MAX \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8402\"\u003e#8402\u003c/a\u003e\n[radarhere]\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/python-pillow/Pillow/commit/46f45f674d47b5d8bc54230dda8fe9e214598b87\"\u003e\u003ccode\u003e46f45f6\u003c/code\u003e\u003c/a\u003e 12.1.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/c9ac097edb5594f63c40acd9afe6802547200379\"\u003e\u003ccode\u003ec9ac097\u003c/code\u003e\u003c/a\u003e Simplify band splitting (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9291\"\u003e#9291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/3baedf264804d199bc19458d11bcff02ce7598eb\"\u003e\u003ccode\u003e3baedf2\u003c/code\u003e\u003c/a\u003e Deprecate getdata(), in favour of new get_flattened_data() (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"\u003e#9292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/b51a0366852c1d519d108dfec8fc2d738cd8080f\"\u003e\u003ccode\u003eb51a036\u003c/code\u003e\u003c/a\u003e Specify APNG duration type when opening (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9368\"\u003e#9368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/8d08e31533065b623399a54bc92b39a756599ad4\"\u003e\u003ccode\u003e8d08e31\u003c/code\u003e\u003c/a\u003e Add release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9369\"\u003e#9369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/432707ea810ae619e2a9e4a9737c169cacaa8eda\"\u003e\u003ccode\u003e432707e\u003c/code\u003e\u003c/a\u003e Added release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2d589107fb3a4aba8389932a65ff771bf9b4deb1\"\u003e\u003ccode\u003e2d58910\u003c/code\u003e\u003c/a\u003e Specify APNG duration type when opening\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/8dee8dd5ba4e592409db1a7fc11a61a51ba30f04\"\u003e\u003ccode\u003e8dee8dd\u003c/code\u003e\u003c/a\u003e Add ImageFile context manager (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9367\"\u003e#9367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/b2d9bc3c766a9743d23a296a503ea2712cdc6745\"\u003e\u003ccode\u003eb2d9bc3\u003c/code\u003e\u003c/a\u003e Support saving APNG float durations (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9365\"\u003e#9365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/f130c10a9c07bc4a4fe793dc3dabb3fe8bd8a1bd\"\u003e\u003ccode\u003ef130c10\u003c/code\u003e\u003c/a\u003e Allow 1 mode images in MorphOp (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/10.2.0...12.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.14.1 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v...\n\n_Description has been truncated_","html_url":"https://github.com/snorkel-marlin-repos/gaphor_gaphor_pr_3184_e12c4f73-d00e-4c00-ba90-ee5222e53701/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fgaphor_gaphor_pr_3184_e12c4f73-d00e-4c00-ba90-ee5222e53701/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"3778201277","node_id":"PR_kwDOOgVuRs67X_Yd","number":71,"state":"open","title":"Bump pygit2 from 1.18.2 to 1.19.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-03T16:04:52.000Z","updated_at":"2026-01-03T16:04:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.1)](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/pythonpe/edit-python.pe/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"},{"uuid":"3774781952","node_id":"PR_kwDOHVci9M67NS7C","number":116,"state":"closed","title":"🤖 Bump the requirements-txt-deps group with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-04T18:25:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T15:04:11.000Z","updated_at":"2026-01-04T18:25:47.000Z","time_to_close":271294,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"🤖 Bump","group_name":"requirements-txt-deps","update_count":5,"packages":[{"name":"githubkit","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/yanyongyu/githubkit"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pygit2","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.5","repository_url":"https://github.com/amueller/word_cloud"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements-txt-deps group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [githubkit](https://github.com/yanyongyu/githubkit) | `0.14.0` | `0.14.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.1` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.19.0` | `1.19.1` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.5` |\n\nUpdates `githubkit` from 0.14.0 to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yanyongyu/githubkit/releases\"\u003egithubkit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature: add latest response to paginator state by \u003ca href=\"https://github.com/yanyongyu\"\u003e\u003ccode\u003e@​yanyongyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/pull/269\"\u003eyanyongyu/githubkit#269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ere-generate openapi models and apis\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\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/yanyongyu/githubkit/commit/240625f80ced55f017ff9085bdeea089e4358043\"\u003e\u003ccode\u003e240625f\u003c/code\u003e\u003c/a\u003e :bookmark: bump version 0.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/c1087141c9b3b5ed5b4196a8089b9f93caefc934\"\u003e\u003ccode\u003ec108714\u003c/code\u003e\u003c/a\u003e :sparkles: Feature: add latest response to paginator state (\u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/58460fd001b1e7d6ab166dc3cc5c672c73163ec2\"\u003e\u003ccode\u003e58460fd\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/2928138a65f38bf1ce2d0721e64fb28192386e64\"\u003e\u003ccode\u003e2928138\u003c/code\u003e\u003c/a\u003e :alien: re-generate openapi models and apis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/c7183468ab13747ea450785fa80a14e20a19af42\"\u003e\u003ccode\u003ec718346\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/cache from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\ndeprecations and bug fixes as well.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eApart from annotations and \u003ccode\u003esame_value\u003c/code\u003e kwarg, the 2.4 highlights are mostly\nof interest to downstream developers. They should help in implementing new user\ndtypes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany annotation improvements. In particular, runtime signature introspection.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ecasting\u003c/code\u003e kwarg \u003ccode\u003e'same_value'\u003c/code\u003e for casting by value.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ePyUFunc_AddLoopsFromSpec\u003c/code\u003e function that can be used to add user sort\nloops using the \u003ccode\u003eArrayMethod\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003e__numpy_dtype__\u003c/code\u003e protocol.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eSetting the \u003ccode\u003estrides\u003c/code\u003e attribute is deprecated\u003c/h3\u003e\n\u003cp\u003eSetting the strides attribute is now deprecated since mutating\nan array is unsafe if an array is shared, especially by multiple\nthreads. As an alternative, you can create a new view (no copy) via:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.strided_window_view\u003c/code\u003e if applicable,\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.as_strided\u003c/code\u003e for the general case,\u003c/li\u003e\n\u003cli\u003eor the \u003ccode\u003enp.ndarray\u003c/code\u003e constructor (\u003ccode\u003ebuffer\u003c/code\u003e is the original array) for a\nlight-weight version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28925\"\u003egh-28925\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003ePositional \u003ccode\u003eout\u003c/code\u003e argument to \u003ccode\u003enp.maximum\u003c/code\u003e, \u003ccode\u003enp.minimum\u003c/code\u003e is deprecated\u003c/h3\u003e\n\u003cp\u003ePassing the output array \u003ccode\u003eout\u003c/code\u003e positionally to \u003ccode\u003enumpy.maximum\u003c/code\u003e and\n\u003ccode\u003enumpy.minimum\u003c/code\u003e is deprecated. For example, \u003ccode\u003enp.maximum(a, b, c)\u003c/code\u003e will emit\na deprecation warning, since \u003ccode\u003ec\u003c/code\u003e is treated as the output buffer rather than\na third input.\u003c/p\u003e\n\u003cp\u003eAlways pass the output with the keyword form, e.g. \u003ccode\u003enp.maximum(a, b, out=c)\u003c/code\u003e.\nThis makes intent clear and simplifies type annotations.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29052\"\u003egh-29052\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003ealign=\u003c/code\u003e must be passed as boolean to \u003ccode\u003enp.dtype()\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003cp\u003eThe things to check are the \u003ccode\u003ecibuildwheel\u003c/code\u003e version in\n\u003ccode\u003e.github/workflows/wheels.yml\u003c/code\u003e and the \u003ccode\u003eopenblas\u003c/code\u003e versions in\n\u003ccode\u003eopenblas_requirements.txt\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eMake a release PR\u003c/h1\u003e\n\u003cp\u003eFour documents usually need to be updated or created for the release PR:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe changelog\u003c/li\u003e\n\u003cli\u003eThe release notes\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003e.mailmap\u003c/code\u003e file\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epyproject.toml\u003c/code\u003e file\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese changes should be made in an ordinary PR against the maintenance branch.\nOther small, miscellaneous fixes may be part of this PR. The commit message\nmight be something like::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eREL: Prepare for the NumPy 2.4.0 release\n\u003cul\u003e\n\u003cli\u003eCreate 2.4.0-changelog.rst.\u003c/li\u003e\n\u003cli\u003eUpdate 2.4.0-notes.rst.\u003c/li\u003e\n\u003cli\u003eUpdate .mailmap.\u003c/li\u003e\n\u003cli\u003eUpdate pyproject.toml\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSet the release version\u003c/h2\u003e\n\u003cp\u003eCheck the \u003ccode\u003epyproject.toml\u003c/code\u003e file and set the release version and update the\nclassifier if needed::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ gvim pyproject.toml\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eCheck the \u003ccode\u003edoc/source/release.rst\u003c/code\u003e file\u003c/h2\u003e\n\u003cp\u003emake sure that the release notes have an entry in the \u003ccode\u003erelease.rst\u003c/code\u003e file::\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/numpy/numpy/commit/c5ab79c14c98bfda1e60770ffa23a6130f8267b7\"\u003e\u003ccode\u003ec5ab79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30487\"\u003e#30487\u003c/a\u003e from charris/prepare-2.4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/05e379a9c925dbeca59851b881c64ba098c5abab\"\u003e\u003ccode\u003e05e379a\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/485f1c40703f1c43be708be4c7b7a21b10d90337\"\u003e\u003ccode\u003e485f1c4\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (1) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30486\"\u003e#30486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c683481c9bace3c6a3ba487f50b34539832377a8\"\u003e\u003ccode\u003ec683481\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30439\"\u003e#30439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11d9ed27e07637aa92b8d43bf2ad380a2b8c5c01\"\u003e\u003ccode\u003e11d9ed2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30459\"\u003e#30459\u003c/a\u003e from charris/backport-30456\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2a17ddb25580f20f27c76327733449434c302032\"\u003e\u003ccode\u003e2a17ddb\u003c/code\u003e\u003c/a\u003e TYP: restore \u003ccode\u003egeneric.__hash__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30456\"\u003e#30456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d04a4293bf8c8345f072891433ddb8c483785a6b\"\u003e\u003ccode\u003ed04a429\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30432\"\u003e#30432\u003c/a\u003e from charris/backport-30426\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f94a148bc07fd167275f167995edce57b4f0b8c5\"\u003e\u003ccode\u003ef94a148\u003c/code\u003e\u003c/a\u003e fix more data races in mtrand.pyx (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30426\"\u003e#30426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06a9d4219291f5a15eed54de9314f72b74c41aed\"\u003e\u003ccode\u003e06a9d42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30420\"\u003e#30420\u003c/a\u003e from charris/backport-30418\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30819cd952a4a92852d619b5dd720c63fbcab6bd\"\u003e\u003ccode\u003e30819cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30419\"\u003e#30419\u003c/a\u003e from charris/backport-30373\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.1.3 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/HISTORY.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.2.1\u003c/h1\u003e\n\u003cp\u003e2025-12-29\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2699_, [FreeBSD], [NetBSD]: \u003ccode\u003eheap_info()\u003c/code\u003e_ does not detect small allocations\n(\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc cache before\nfetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.0\u003c/h1\u003e\n\u003cp\u003e2025-12-23\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e1275_: new \u003ccode\u003eheap_info()\u003c/code\u003e_ and \u003ccode\u003eheap_trim()\u003c/code\u003e_ functions, providing direct\naccess to the platform's native C heap allocator (glibc, mimalloc,\nlibmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e2403_, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e2680_: unit tests are no longer installed / part of the distribution. They\nnow live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2684_, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to missing\ninclude.\u003c/li\u003e\n\u003cli\u003e2691_, [Windows]: fix memory leak in \u003ccode\u003enet_if_stats()\u003c/code\u003e_ due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2680_: \u003ccode\u003eimport psutil.tests\u003c/code\u003e no longer works (but it was never documented to\nbegin with).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/6130c19da2d01383befa0dfca2371a792f8881af\"\u003e\u003ccode\u003e6130c19\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2699\"\u003e#2699\u003c/a\u003e / BSD: flush internal jemalloc cache before returning metrics.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/899ee4efa9c1943de14a5818853b6dc9c019eb4f\"\u003e\u003ccode\u003e899ee4e\u003c/code\u003e\u003c/a\u003e Mention psleak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/704e218db7da14e98a54f2aa9f93372d5900e0b4\"\u003e\u003ccode\u003e704e218\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/1a946cfe738045cecf031222cd5078da21946af4\"\u003e\u003ccode\u003e1a946cf\u003c/code\u003e\u003c/a\u003e Take psleak from PYPI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/5085421cabed317d5e2f7164e6072b0be05ba4f1\"\u003e\u003ccode\u003e5085421\u003c/code\u003e\u003c/a\u003e Use external psleak module for memleak tests (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2698\"\u003e#2698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/ac56e6ad0b7c08755a5542afdacb668ad164fd09\"\u003e\u003ccode\u003eac56e6a\u003c/code\u003e\u003c/a\u003e CI: don't cancel CI in progress on 1st failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/10fe3d5e9372a504167b0a4df440ab949c0410fe\"\u003e\u003ccode\u003e10fe3d5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:giampaolo/psutil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/ba507bd26bbfe5d1bdc45d606c8979f9e6f632cb\"\u003e\u003ccode\u003eba507bd\u003c/code\u003e\u003c/a\u003e Fix various CI errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/d5a1398f0860c04883ef881c4760f32d14ef4abf\"\u003e\u003ccode\u003ed5a1398\u003c/code\u003e\u003c/a\u003e Update cpu_count docs: clarify differences from os.cpu_count (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2696\"\u003e#2696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/556158f55fc3b2f1271b48c66c46912323cf8bec\"\u003e\u003ccode\u003e556158f\u003c/code\u003e\u003c/a\u003e Refact memleak.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/release-7.1.3...release-7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.19.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wordcloud` from 1.9.4 to 1.9.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/amueller/word_cloud/releases\"\u003ewordcloud's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for Python 3.14\u003c/li\u003e\n\u003cli\u003eMinimum supported Python is 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInstall with:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install wordcloud==1.9.5\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/4c9313b9f1ac672fb2f8b2557566d31522ea78cb\"\u003e\u003ccode\u003e4c9313b\u003c/code\u003e\u003c/a\u003e Add more platforms for cibuildwheel (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/83414e413b3a666e33da7c73df72a2046cbe1d6f\"\u003e\u003ccode\u003e83414e4\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to v3.3.0 to get python-3.14 wheels (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/804\"\u003e#804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/f52beb2515907549aa4e5f84b514740d43d406c0\"\u003e\u003ccode\u003ef52beb2\u003c/code\u003e\u003c/a\u003e Fix Python 3.14 support (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/928d1526765e36e8c7b63cab26829a5d7f551f8e\"\u003e\u003ccode\u003e928d152\u003c/code\u003e\u003c/a\u003e Update versions for publish workflow (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/806\"\u003e#806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/cfc1e9f203bea06ef89a2d47650c556c4ed4336b\"\u003e\u003ccode\u003ecfc1e9f\u003c/code\u003e\u003c/a\u003e Update license (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/e0c5e0c222c2f14533973a0b82acfbe4c54f746a\"\u003e\u003ccode\u003ee0c5e0c\u003c/code\u003e\u003c/a\u003e Bump minimum python to 3.9 (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/801\"\u003e#801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/c1fe79beccaa2f684e2a2051bf7d6018365b214e\"\u003e\u003ccode\u003ec1fe79b\u003c/code\u003e\u003c/a\u003e fix unclosed file handle (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/799\"\u003e#799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/e7753d4b9904a5bc6c96a4705ef43d7169572fda\"\u003e\u003ccode\u003ee7753d4\u003c/code\u003e\u003c/a\u003e Use ubuntu 22.04 and spread the python version between runners (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/amueller/word_cloud/compare/1.9.4...1.9.5\"\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/Aluerie/AluBot/pull/116","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aluerie%2FAluBot/issues/116","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/116/packages"},{"uuid":"3774131517","node_id":"PR_kwDOAE7iNM67LKmu","number":2627,"state":"open","title":"chore(deps-dev): bump pygit2 from 1.15.1 to 1.19.1","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-01T05:00:59.000Z","updated_at":"2026-01-01T05:01:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pygit2","old_version":"1.15.1","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.15.1 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.15.1...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.15.1\u0026new-version=1.19.1)](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/Screenly/Anthias/pull/2627","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Screenly%2FAnthias/issues/2627","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2627/packages"},{"uuid":"3768020016","node_id":"PR_kwDOMgx1_s6625Dm","number":291,"state":"open","title":"build(deps): bump pygit2 from 1.19.0 to 1.19.1","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":"2025-12-29T18:10:14.000Z","updated_at":"2026-02-07T20:08:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pygit2","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.19.0 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.19.0...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.19.0\u0026new-version=1.19.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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.","html_url":"https://github.com/gardenlinux/python-gardenlinux-lib/pull/291","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gardenlinux%2Fpython-gardenlinux-lib/issues/291","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/291/packages"},{"uuid":"3755433246","node_id":"PR_kwDOAozSis66Opa_","number":516,"state":"open","title":"Bump the all-deps group across 1 directory with 72 updates","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":"2025-12-22T22:32:38.000Z","updated_at":"2025-12-22T22:35:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":72,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"21.3.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.6.10","new_version":"2.8.11","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"40","new_version":"51","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"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.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.12","new_version":"1.4.14","repository_url":"https://github.com/enthought/comtypes"},{"name":"configparser","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/jaraco/configparser"},{"name":"contourpy","old_version":"1.1.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cpylog","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/SteveDoyle2/cpylog"},{"name":"docutils","old_version":"0.20.1","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"ezdxf","old_version":"1.1.4","new_version":"1.4.3","repository_url":"https://github.com/mozman/ezdxf"},{"name":"fonttools","old_version":"4.57.0","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.3.0","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geomdl","old_version":"5.3.1","new_version":"5.4.0","repository_url":"https://github.com/orbingol/NURBS-Python"},{"name":"ijson","old_version":"3.3.0","new_version":"3.4.0.post0","repository_url":"https://github.com/ICRAR/ijson"},{"name":"imageio","old_version":"2.35.1","new_version":"2.37.2","repository_url":"https://github.com/imageio/imageio"},{"name":"importlib-metadata","old_version":"8.5.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"importlib-resources","old_version":"6.4.5","new_version":"6.5.2","repository_url":"https://github.com/python/importlib_resources"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.41.1","new_version":"0.46.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"markdown","old_version":"3.7","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"networkx","old_version":"3.1","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.58.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.24.4","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.0.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"10.4.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"4.2.0","new_version":"7.4.2","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"5.29.5","new_version":"6.33.2","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.13.3","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyopenxr","old_version":"1.1.4601","new_version":"1.1.5301","repository_url":"https://github.com/cmbruns/pyopenxr"},{"name":"pyoptools","old_version":"0.2.1","new_version":"0.3.7"},{"name":"pyparsing","old_version":"3.1.4","new_version":"3.3.0","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypresence","old_version":"4.3.0","new_version":"4.6.1","repository_url":"https://github.com/qwertyquerty/pypresence"},{"name":"pyproj","old_version":"3.5.0","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pyvista","old_version":"0.44.2","new_version":"0.46.4","repository_url":"https://github.com/pyvista/pyvista"},{"name":"pywavelets","old_version":"1.4.1","new_version":"1.9.0","repository_url":"https://github.com/PyWavelets/pywt"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-image","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.3.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.10.1","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.47.0","new_version":"2.48.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8.1","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"streamdeck","old_version":"0.9.6","new_version":"0.9.8","repository_url":"https://github.com/abcminiuser/python-elgato-streamdeck"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"testtools","old_version":"2.7.2","new_version":"2.8.2","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tifffile","old_version":"2023.7.10","new_version":"2025.12.20","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"txaio","old_version":"23.1.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzdata","old_version":"2025.2","new_version":"2025.3","repository_url":"https://github.com/python/tzdata"},{"name":"tzlocal","old_version":"5.2","new_version":"5.3.1","repository_url":"https://github.com/regebro/tzlocal"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.6.2","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vtk","old_version":"9.3.1","new_version":"9.5.2"},{"name":"xarray","old_version":"2023.1.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.20.2","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-deps group with 72 updates in the /constraints directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.0` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `21.3.1` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.6.10` | `2.8.11` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `40` | `51` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.12` | `1.4.14` |\n| [configparser](https://github.com/jaraco/configparser) | `7.1.0` | `7.2.0` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.1.1` | `1.3.3` |\n| [cpylog](https://github.com/SteveDoyle2/cpylog) | `1.5.0` | `1.6.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.20.1` | `0.22.4` |\n| [ezdxf](https://github.com/mozman/ezdxf) | `1.1.4` | `1.4.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.57.0` | `4.61.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.3.0` | `2025.12.0` |\n| [geomdl](https://github.com/orbingol/NURBS-Python) | `5.3.1` | `5.4.0` |\n| [ijson](https://github.com/ICRAR/ijson) | `3.3.0` | `3.4.0.post0` |\n| [imageio](https://github.com/imageio/imageio) | `2.35.1` | `2.37.2` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.5.0` | `8.7.1` |\n| [importlib-resources](https://github.com/python/importlib_resources) | `6.4.5` | `6.5.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.4.9` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.41.1` | `0.46.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.0.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.10.8` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.1` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.58.1` | `0.63.1` |\n| [numpy](https://github.com/numpy/numpy) | `1.24.4` | `2.4.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.0.3` | `2.3.3` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.4.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `4.2.0` | `7.4.2` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `6.33.2` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.13.3` | `1.19.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| [pyopenxr](https://github.com/cmbruns/pyopenxr) | `1.1.4601` | `1.1.5301` |\n| pyoptools | `0.2.1` | `0.3.7` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.1.4` | `3.3.0` |\n| [pypresence](https://github.com/qwertyquerty/pypresence) | `4.3.0` | `4.6.1` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.5.0` | `3.7.2` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.44.2` | `0.46.4` |\n| [pywavelets](https://github.com/PyWavelets/pywt) | `1.4.1` | `1.9.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.21.0` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.3.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.10.1` | `1.16.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.47.0` | `2.48.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8.1` |\n| [streamdeck](https://github.com/abcminiuser/python-elgato-streamdeck) | `0.9.6` | `0.9.8` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.7.2` | `2.8.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.6.0` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2023.7.10` | `2025.12.20` |\n| [txaio](https://github.com/crossbario/txaio) | `23.1.1` | `25.12.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [tzdata](https://github.com/python/tzdata) | `2025.2` | `2025.3` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.2` | `5.3.1` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.6.2` |\n| [vtk](https://vtk.org) | `9.3.1` | `9.5.2` |\n| [xarray](https://github.com/pydata/xarray) | `2023.1.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.20.2` | `3.23.0` |\n\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003cli\u003eTested and supported on Python 3.13\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003cli\u003eDrop testing on PyPy\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.20.0...v0.21.0\n     6\tAmethyst Reese\n     1\tGabriel\n     1\tStanley Kudrow\n    11\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/3a6d7b03bf86054551b6fd90498056f652671c52\"\u003e\u003ccode\u003e3a6d7b0\u003c/code\u003e\u003c/a\u003e Remove obsolete dependency on typing_extensions (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/e9d6b44af028e7704293b5d7a31ae02077fea5e6\"\u003e\u003ccode\u003ee9d6b44\u003c/code\u003e\u003c/a\u003e Bump black from 25.1.0 to 25.11.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 21.3.1 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease v25_12_2\u003c/h1\u003e\n\u003cp\u003eOfficial release v25_12_2\u003c/p\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux_2_34 wheels with NVX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64 (binary wheels with NVX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64 (binary wheels with NVX)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install autobahn[all]==v25_12_2\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr download wheels directly from this release.\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Date\u003c/strong\u003e: 2025-12-15 11:12:00 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cp\u003eAutobahn|Python provides:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWebSocket\u003c/strong\u003e client and server implementations (RFC 6455)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWAMP\u003c/strong\u003e client library for both Twisted and asyncio\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNVX acceleration\u003c/strong\u003e for high-performance networking (binary wheels)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePure Python fallback\u003c/strong\u003e wheels for maximum compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://autobahn.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python\"\u003eGitHub Repository\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://wamp-proto.org\"\u003eWAMP Protocol\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-7ce4f0c4-oberstet_autobahn_python-sync_autobahn_zlmdb-202512132337\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v21.3.1...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.6.10 to 2.8.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.11\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add behavior cls validation hook by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3710\"\u003escikit-hep/awkward#3710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a playground for cccl studies by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3734\"\u003escikit-hep/awkward#3734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add cuda.compute implementation to CCCL study by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: ability to optionally disable the caching of virtual arrays on themselves by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3741\"\u003escikit-hep/awkward#3741\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: string array numpy conversion fails with int32 offsets from parquet by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3697\"\u003escikit-hep/awkward#3697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only check length against empty form in \u003ccode\u003eak.from_buffers\u003c/code\u003e if it is known by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3714\"\u003escikit-hep/awkward#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typestr respects now limit_cols for .show and \u003cem\u003erepr_mimebundle\u003c/em\u003e by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3712\"\u003escikit-hep/awkward#3712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.__bool__ \u003c/code\u003e raises \u003ccode\u003eTypeError\u003c/code\u003e when builder length is 1 by \u003ca href=\"https://github.com/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent teardown from crashing GPU test suite by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3747\"\u003escikit-hep/awkward#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hide awkward.ak_* and awkward.str.akstr_* from 'awkward' and 'awkward.str' module by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3752\"\u003escikit-hep/awkward#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: align multi-level indices before merge in \u003ccode\u003eto_dataframe()\u003c/code\u003e by \u003ca href=\"https://github.com/TaiSakuma\"\u003e\u003ccode\u003e@​TaiSakuma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3733\"\u003escikit-hep/awkward#3733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: numba test failures on Python 3.14 by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3757\"\u003escikit-hep/awkward#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in \u003ccode\u003eto_IndexedOptionArray64\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3727\"\u003escikit-hep/awkward#3727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: weights should not be raised to the power n in the n-th moment calculation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3729\"\u003escikit-hep/awkward#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3728\"\u003escikit-hep/awkward#3728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; PlaceholderArrays by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3751\"\u003escikit-hep/awkward#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for \u003ccode\u003eaxis=None\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3765\"\u003escikit-hep/awkward#3765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: fix compilation on self-hosted CI and test with multiple versions of CUDA by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3704\"\u003escikit-hep/awkward#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update acknowledgements to include NumFOCUS affiliation by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3708\"\u003escikit-hep/awkward#3708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3709\"\u003escikit-hep/awkward#3709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: pytest log_level is better than log_cli_level by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3719\"\u003escikit-hep/awkward#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update requirements files for latest possible python versions by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3739\"\u003escikit-hep/awkward#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions 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/scikit-hep/awkward/pull/3744\"\u003escikit-hep/awkward#3744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3754\"\u003escikit-hep/awkward#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove CUDA 11 support by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3758\"\u003escikit-hep/awkward#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macos-15-intel for x86 wheel building and testing by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3720\"\u003escikit-hep/awkward#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add new versions to version selector by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3707\"\u003escikit-hep/awkward#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: 3.14 is supported by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3717\"\u003escikit-hep/awkward#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add T90REAL as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3742\"\u003escikit-hep/awkward#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add dependency and version change guidelines by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3745\"\u003escikit-hep/awkward#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add shwina as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3759\"\u003escikit-hep/awkward#3759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add an example summation reducer using cccl by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3762\"\u003escikit-hep/awkward#3762\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/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.10\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: preserve field order when replacing existing fields in with_field by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3681\"\u003escikit-hep/awkward#3681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add to_/from_safetensors by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3685\"\u003escikit-hep/awkward#3685\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/scikit-hep/awkward/commit/c4a2e57b47f6738670ffc0e4781a3990e7c3ff03\"\u003e\u003ccode\u003ec4a2e57\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/60072263c91fd8d5df48b487427319c5a10ae70d\"\u003e\u003ccode\u003e6007226\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0ad8b1e25b0bd493508bade8ab8d79a383a854a0\"\u003e\u003ccode\u003e0ad8b1e\u003c/code\u003e\u003c/a\u003e fix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for `axis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0941b378a8236a660990bd02d2c14e4d6593f28e\"\u003e\u003ccode\u003e0941b37\u003c/code\u003e\u003c/a\u003e fix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; Pla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/efea08c134963bc37c1013adc4ab320ebeb4d7a3\"\u003e\u003ccode\u003eefea08c\u003c/code\u003e\u003c/a\u003e chore(ci): use macos-15-intel for x86 wheel building and testing (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/87765b6adb379ba27b0f6b984607c250443b170c\"\u003e\u003ccode\u003e87765b6\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/306274c1fd6028ed549fa0f9a5e47a8bd76e693c\"\u003e\u003ccode\u003e306274c\u003c/code\u003e\u003c/a\u003e fix: weights should not be raised to the power n in the n-th moment calculati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/8872e1f4ffd781b07c2a661c235dc2d0a5f5bade\"\u003e\u003ccode\u003e8872e1f\u003c/code\u003e\u003c/a\u003e fix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in `to_IndexedOption...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1594a70bb0d39e174996275dd251305a13f83b2b\"\u003e\u003ccode\u003e1594a70\u003c/code\u003e\u003c/a\u003e fix: numba test failures on Python 3.14 (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/ca066ddc96dd690d52956535fc7422de71ed92e3\"\u003e\u003ccode\u003eca066dd\u003c/code\u003e\u003c/a\u003e feat: ability to optionally disable the caching of virtual arrays on themselv...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.6.10...v2.8.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 40 to 51\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\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/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\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/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.12 to 1.4.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003esetup.py\u003c/code\u003e with \u003ccode\u003epyproject.toml\u003c/code\u003e. By \u003ca href=\"https://github.com/moi15moi\"\u003e\u003ccode\u003e@​moi15moi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate codebases for PEP585 compliance. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.8 and add Python 3.14 to the CI pipelines. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDeclare the minimum Python version as 3.9. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ePyCArgObject.value\u003c/code\u003e for Python 3.14 compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd version bridges for the \u003ccode\u003e__pointer_type__\u003c/code\u003e attribute protocol. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/blob/main/CHANGES.txt\"\u003ecomtypes's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.4.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003esetup.py\u003c/code\u003e with \u003ccode\u003epyproject.toml\u003c/code\u003e. By \u003ca href=\"https://github.com/moi15moi\"\u003e\u003ccode\u003e@​moi15moi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate codebases for PEP585 compliance. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.4.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.8 and add Python 3.14 to the CI pipelines. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDeclare the minimum Python version as 3.9. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ePyCArgObject.value\u003c/code\u003e for Python 3.14 compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd version bridges for the \u003ccode\u003e__pointer_type__\u003c/code\u003e attribute protocol. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\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/enthought/comtypes/commit/b4226687d1df5ccaa6d0ee0df596c0c9adc50b0a\"\u003e\u003ccode\u003eb422668\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.14 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/882\"\u003e#882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/ee4320fc96134277bf72cd42df4221772bcd902b\"\u003e\u003ccode\u003eee4320f\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003ecollections.abc.Iterator\u003c/code\u003e in \u003ccode\u003etypeannotator\u003c/code\u003e to align with PEP 585. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/881\"\u003e#881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/4c95d110d0d5fd286378bae0dc211b69c01f837d\"\u003e\u003ccode\u003e4c95d11\u003c/code\u003e\u003c/a\u003e Replace setup.py with pyproject.toml (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/f2bd6052aa6daf3d3791e30b40bdd3fd85e3bfdd\"\u003e\u003ccode\u003ef2bd605\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e*.py\u003c/code\u003e and \u003ccode\u003e_post_coinit/*.py\u003c/code\u003e files for PEP585 compliance. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/ab2b95e8c76b2fa6ddc24cc911742845ede79f54\"\u003e\u003ccode\u003eab2b95e\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003etools/**/*.py\u003c/code\u003e, \u003ccode\u003eserver/*.py\u003c/code\u003e and \u003ccode\u003eclient/*.py\u003c/code\u003e files for PEP585 comp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/4134455d4c290a10e084a97c9b18ccb5ef62aaf4\"\u003e\u003ccode\u003e4134455\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003etest/*.py\u003c/code\u003e files for PEP585 compliance. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/878\"\u003e#878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/5fd01e33d9f2fc571a0f02fffab1f4ed8b241931\"\u003e\u003ccode\u003e5fd01e3\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003ehints.pyi\u003c/code\u003e and the type symbols under \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks in the g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/6d80cc6a742623130564469aaa543582e10c6301\"\u003e\u003ccode\u003e6d80cc6\u003c/code\u003e\u003c/a\u003e Improve \u003ccode\u003eGetModuleFileName\u003c/code\u003e tests and clarify virtual environment behavior. (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/fb8fd5823d83f866df43ce6f15d1b8dfd7f51f8c\"\u003e\u003ccode\u003efb8fd58\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.13 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/874\"\u003e#874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/2429d3461e30387daa901cf59fdab02aae851696\"\u003e\u003ccode\u003e2429d34\u003c/code\u003e\u003c/a\u003e Support Python 3.14 and drop Python 3.8. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/enthought/comtypes/compare/1.4.12...1.4.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `configparser` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/configparser/blob/main/NEWS.rst\"\u003econfigparser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.2.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefreshed with implementation from CPython main (3.14).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/configparser/commit/196691a5900488f11cdf276af745e36776e2209a\"\u003e\u003ccode\u003e196691a\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/FreeCAD-addons/pull/516","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FFreeCAD-addons/issues/516","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/516/packages"},{"uuid":"3580739376","node_id":"PR_kwDOKAT1fM6xHoKQ","number":14,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.19.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-30T06:43:07.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-03T06:27:32.000Z","updated_at":"2025-12-30T06:43:09.000Z","time_to_close":4925735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.19.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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.0\u0026new-version=1.19.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/dataresearchcenter/datasets/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataresearchcenter%2Fdatasets/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"3578005914","node_id":"PR_kwDOBfqc4M6w_P5y","number":3613,"state":"open","title":"chore(deps): Bump the datalad group in /services/datalad with 18 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-01T13:21:29.000Z","updated_at":"2025-11-01T13:24:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"datalad","update_count":18,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aioshutil","old_version":"1.5","new_version":"1.6","repository_url":"https://github.com/kumaraditya303/aioshutil"},{"name":"bidsschematools","old_version":"1.0.10","new_version":"1.1.2","repository_url":"https://github.com/bids-standard/bids-specification"},{"name":"boto3","old_version":"1.38.31","new_version":"1.40.64","repository_url":"https://github.com/boto/boto3"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"dnspython","old_version":"2.7.0","new_version":"2.8.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"falcon","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/falconry/falcon"},{"name":"pygit2","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pygithub","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/pygithub/pygithub"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"taskiq-redis","old_version":"1.0.9","new_version":"1.1.2","repository_url":"https://github.com/taskiq-python/taskiq-redis"},{"name":"coverage","old_version":"7.8.2","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"datalad","old_version":"1.2.0","new_version":"1.2.3","repository_url":"https://github.com/datalad/datalad"},{"name":"pytest","old_version":"8.4.0","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.0.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"ruff","old_version":"0.12.2","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"}],"path":"/services/datalad","ecosystem":"pip"},"body":"Bumps the datalad group in /services/datalad with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aioshutil](https://github.com/kumaraditya303/aioshutil) | `1.5` | `1.6` |\n| [bidsschematools](https://github.com/bids-standard/bids-specification) | `1.0.10` | `1.1.2` |\n| [boto3](https://github.com/boto/boto3) | `1.38.31` | `1.40.64` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.7.0` | `2.8.0` |\n| [falcon](https://github.com/falconry/falcon) | `4.0.2` | `4.1.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.18.0` | `1.19.0` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.6.1` | `2.8.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [taskiq-redis](https://github.com/taskiq-python/taskiq-redis) | `1.0.9` | `1.1.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.2` | `7.11.0` |\n| [datalad](https://github.com/datalad/datalad) | `1.2.0` | `1.2.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.0` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.0.0` | `1.2.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.7.0` | `3.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.2` | `0.14.3` |\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aioshutil` from 1.5 to 1.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/2f5527b6efb15265daa1faa7e2741065005fb3b6\"\u003e\u003ccode\u003e2f5527b\u003c/code\u003e\u003c/a\u003e Remove deprecated ExecError alias (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/17\"\u003e#17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/cf59a1e91f72bc2f9f800bf7d21cf80fe3d50f61\"\u003e\u003ccode\u003ecf59a1e\u003c/code\u003e\u003c/a\u003e fix publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/590e6c653f3e869f382dbef3a4c0964ebad7aec3\"\u003e\u003ccode\u003e590e6c6\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/c2ffa39e8f2095778155dce34a7351fbabb6ee5c\"\u003e\u003ccode\u003ec2ffa39\u003c/code\u003e\u003c/a\u003e Use python 3.13 for publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/33ae80d2da6a16bd12f0274bcead1067c22223cd\"\u003e\u003ccode\u003e33ae80d\u003c/code\u003e\u003c/a\u003e test on Python 3.13, 3.14 and drop 3.8 (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/14\"\u003e#14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/b5c773f72561ba28f11cbed9301799aa4a297cdf\"\u003e\u003ccode\u003eb5c773f\u003c/code\u003e\u003c/a\u003e test on Python 3.13-dev (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/13\"\u003e#13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kumaraditya303/aioshutil/compare/v1.5...v1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bidsschematools` from 1.0.10 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bids-standard/bids-specification/releases\"\u003ebidsschematools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBIDS Specification release v1.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etesting the release mechanism (especially RTD component contributed by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreating a minor release prior to EEG and iEEG merges\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003erelease PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/pull/121\"\u003ebids-standard/bids-specification#121\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/bids-standard/bids-specification/blob/v1.1.2/Release_Protocol.md\"\u003ebidsschematools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease Procedure\u003c/h1\u003e\n\u003cp\u003eWhen a release pull request is ready to be opened, please follow this procedure.\u003c/p\u003e\n\u003ch3\u003e1. Fork/Update the most current version of the \u003ca href=\"https://github.com/bids-standard/bids-specification/tree/master\"\u003emaster branch of the BIDS-specification\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003ePlease make sure your fork is the most up to date version\u003c/p\u003e\n\u003ch3\u003e2. Change 'Unreleased' to the version number in the src/CHANGES.md file. One may commit this to their fork.\u003c/h3\u003e\n\u003cp\u003eThis process is figured below \u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/Unreleased-to-Version.png\" alt=\"Unreleased-to-Version\" title=\"Unreleased-to-Version\" /\u003e\u003c/p\u003e\n\u003ch3\u003e3. Please open a pull request on the \u003ca href=\"https://github.com/bids-standard/bids-specification/tree/master\"\u003emaster branch of the BIDS-specification\u003c/a\u003e.\u003c/h3\u003e\n\u003cp\u003eImportant note: The pull request title \u003cstrong\u003eneeds\u003c/strong\u003e to follow this protocol. REL: v.X.X.X (i.e. REL: v.1.1.2) There should only be one commit in the pull request (the step 2 commit)\u003c/p\u003e\n\u003ch3\u003eThis will open a period of discussion for 5 business days regarding if we are ready to release. This will also freeze all pull request merging.\u003c/h3\u003e\n\u003cp\u003eIf we determine we are ready to release, please have the PR submitter add an additional commit with the date in year-month-date format in parentheses after the version of the date of merging (not opening) (i.e. it should read 1.1.2 (2018-12-28)) and merge this PR. This will mark a new release. On the same day, please also do a github release. To do this please see below.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_1.png\" alt=\"GH-release-1\" title=\"GH-release-1\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_2.png\" alt=\"GH-release-2\" title=\"GH-release-2\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_3.png\" alt=\"GH-release-3\" title=\"GH-release-3\" /\u003e\u003c/p\u003e\n\u003cp\u003eHowever, if it is determined we are not ready to release, please simply close the pull request.\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/bids-standard/bids-specification/commit/5e2b11304ecfaa98cc72ed992b87e3261e45b08f\"\u003e\u003ccode\u003e5e2b113\u003c/code\u003e\u003c/a\u003e Update CHANGES.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/b7f350833236695282afb2a3b2d18cebadd3625a\"\u003e\u003ccode\u003eb7f3508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/121\"\u003e#121\u003c/a\u003e from bids-standard/enh/release112\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/039be46cceebd4610c73de3436aa7119dddf6463\"\u003e\u003ccode\u003e039be46\u003c/code\u003e\u003c/a\u003e Release 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/e83179ffbef0d600730c4ea27cc39c2d95ff7277\"\u003e\u003ccode\u003ee83179f\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/120\"\u003e#120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/85ca1ea5725319352becb2608ddb29e3638bcf96\"\u003e\u003ccode\u003e85ca1ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/120\"\u003e#120\u003c/a\u003e from oesteban/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/d252130c95de8795929efb672b5f6b11df64959a\"\u003e\u003ccode\u003ed252130\u003c/code\u003e\u003c/a\u003e Update 01-contributors.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/4b388ee0e07647c6e1bb615ed180ce4a144dd22e\"\u003e\u003ccode\u003e4b388ee\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/117\"\u003e#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/f7ccaeb10cf219d1f74907d0550aa5adf7fd5eea\"\u003e\u003ccode\u003ef7ccaeb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/117\"\u003e#117\u003c/a\u003e from bids-standard/enh/globa_data_dict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/7828aa2ad549d5052f38aa0fccbe648ab170f0ea\"\u003e\u003ccode\u003e7828aa2\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/116\"\u003e#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/55c2090963bb474e6f2fd35f63bf1d065a97ed12\"\u003e\u003ccode\u003e55c2090\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/116\"\u003e#116\u003c/a\u003e from greydongilmore/master\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bids-standard/bids-specification/compare/schema-1.0.10...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.31 to 1.40.64\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/47672973d889e45d7aac212b5e2478ceecdd8b52\"\u003e\u003ccode\u003e4767297\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.64'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4126cfba4ab3d05c500afcdd0f9a7720a3ca8b74\"\u003e\u003ccode\u003e4126cfb\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1f76848b4a6e9c1197aeebbfc0042951c27856af\"\u003e\u003ccode\u003e1f76848\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/de8a8d8461c6fa7ff5ad6c99595f440f06e0e1da\"\u003e\u003ccode\u003ede8a8d8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.63'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b4ab1ec761311c896b79687212d04f3fd56f0c03\"\u003e\u003ccode\u003eb4ab1ec\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.63' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cb489750243aa56c04b153a5d68a0653880ecc42\"\u003e\u003ccode\u003ecb48975\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.63\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5c30ab505f48949271b56ee67c5ed5b02f14525a\"\u003e\u003ccode\u003e5c30ab5\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6abe1784956327799cc1fed26cfb0550bb9494cf\"\u003e\u003ccode\u003e6abe178\u003c/code\u003e\u003c/a\u003e update the documentation for creating s3 bucket to address the region mismatc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ea1a84d679f36410a64f311a6213fda85f5995b3\"\u003e\u003ccode\u003eea1a84d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.62'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ec252ff20efbfc802ff6661de4a30afd3fadf9bb\"\u003e\u003ccode\u003eec252ff\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.62' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.31...1.40.64\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.2 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dnspython` from 2.7.0 to 2.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rthalley/dnspython/releases\"\u003ednspython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ednspython 2.8.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://dnspython.readthedocs.io/en/stable/whatsnew.html\"\u003eWhat's New\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003eThe minimum supported version of Python is 3.10.\u003c/p\u003e\n\u003cp\u003eMy thanks to the many people who have contributed to this release. Also thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.\u003c/p\u003e\n\u003cp\u003eThis release was published to PyPI using Trusted Publishing.\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/rthalley/dnspython/blob/main/doc/whatsnew.rst\"\u003ednspython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edns/btreezone.py provides another zone versioned implementation built on top of a\nB-tree.  It maintains DNSSEC sort order, labels nodes as delegation points or glue,\nand can find the \u0026quot;bounds\u0026quot; of a name (useful for DNSSEC responses).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edns/query.py now provides make_socket(), make_ssl_socket(), and make_ssl_context()\nto make using persistent connections with the query code easier.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edns/win32util.py now supports explicitly setting the configuration method used to get\nsystem dns info, using the set_config_method() function.   There is a new configuration\nmethod that uses the Win32 API, which can be set using\nset_config_method(ConfigMethod.Win32).  We are considering making the Win32 API\nthe default in the future as we believe it to be the most accurate.  Any feedback on\nit compared to the other methods is welcome.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe DSYNC record is now supported.  This type is still in draft stage at the IETF\nand is subject to change.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum supported Python version is now 3.10.\u003c/p\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/rthalley/dnspython/commit/77fd94cd9716faf23e0a6e333f6568fc24284402\"\u003e\u003ccode\u003e77fd94c\u003c/code\u003e\u003c/a\u003e 2.8.0 versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/884f38345a8152342fe8ab5da8db9aab654051ba\"\u003e\u003ccode\u003e884f383\u003c/code\u003e\u003c/a\u003e update 2.8 branch workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/1938fe331f97376bf91c028fbfb8c7588c1b84f4\"\u003e\u003ccode\u003e1938fe3\u003c/code\u003e\u003c/a\u003e update 2.8 branch workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a35d6925efe20744e8cf7545d19d03ba06e7ab6f\"\u003e\u003ccode\u003ea35d692\u003c/code\u003e\u003c/a\u003e 2.8.0rc1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/c862baaf0d0aa36d2e7003dfe226cd6ad4d827c4\"\u003e\u003ccode\u003ec862baa\u003c/code\u003e\u003c/a\u003e 2.8.0rc1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/0945d5923d58048c17325975f70f0738c87570b4\"\u003e\u003ccode\u003e0945d59\u003c/code\u003e\u003c/a\u003e more lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/8fa6766d2f7a2431372fc912fb334e752290ebf2\"\u003e\u003ccode\u003e8fa6766\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/641633503ee6b07bf382594ac04707072b90de18\"\u003e\u003ccode\u003e6416335\u003c/code\u003e\u003c/a\u003e Type syntax (\u003ca href=\"https://redirect.github.com/rthalley/dnspython/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a4591447b7d6e38479bcddb14de3b69f314e7009\"\u003e\u003ccode\u003ea459144\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a0d5f172e89f30709b47b59fb0919d8cf137f611\"\u003e\u003ccode\u003ea0d5f17\u003c/code\u003e\u003c/a\u003e fix the all entries\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rthalley/dnspython/compare/v2.7.0...v2.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `falcon` from 4.0.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/falconry/falcon/releases\"\u003efalcon's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cp\u003eThis release contains enhancements to media handling, serving static files, and a fix for the WebSockets-sink interaction, alongside performance optimizations and full support for CPython 3.14.\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0/\"\u003eFalcon 4.1.0 on PyPI\u003c/a\u003e\n:books: \u003ca href=\"https://falcon.readthedocs.io/en/stable/changes/4.1.0.html\"\u003eChangelog on RtD\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDuring this release cycle, we have migrated to publishing to PyPI with a \u003ca href=\"https://docs.pypi.org/trusted-publishers/\"\u003eTrusted Publisher\u003c/a\u003e (thanks to \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e for helping to iron out the workflow details).\u003c/p\u003e\n\u003cp\u003eFor those relying on other package distribution channels than PyPI, we have prepared a brand new \u003ca href=\"https://falcon.readthedocs.io/en/stable/community/packaging.html\"\u003ePackaging Guide\u003c/a\u003e for Falcon. Please check it out and let us know what you think! Additionally, we have formalized our security maintenance policy as well as the status of stable releases: \u003ca href=\"https://falcon.readthedocs.io/en/stable/community/releases.html\"\u003eReleases and Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis release also incorporates many pull requests submitted by our community. We would like to extend our heartfelt thanks to all 17 contributors who made this release possible!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aarcex3\"\u003e\u003ccode\u003e@​aarcex3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AbduazizZiyodov\"\u003e\u003ccode\u003e@​AbduazizZiyodov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Bombaclath97\"\u003e\u003ccode\u003e@​Bombaclath97\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bssyousefi\"\u003e\u003ccode\u003e@​bssyousefi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CaselIT\"\u003e\u003ccode\u003e@​CaselIT\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diegomirandap\"\u003e\u003ccode\u003e@​diegomirandap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EricGoulart\"\u003e\u003ccode\u003e@​EricGoulart\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jap\"\u003e\u003ccode\u003e@​jap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkmnt\"\u003e\u003ccode\u003e@​jkmnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kemingy\"\u003e\u003ccode\u003e@​kemingy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Krishn1412\"\u003e\u003ccode\u003e@​Krishn1412\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/perodriguezl\"\u003e\u003ccode\u003e@​perodriguezl\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shreshth3\"\u003e\u003ccode\u003e@​Shreshth3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x612skm\"\u003e\u003ccode\u003e@​x612skm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0rc1\u003c/h2\u003e\n\u003cp\u003eThis is the first release candidate of Falcon 4.1.0.\u003c/p\u003e\n\u003cp\u003eWe would greatly appreciate it if you could help us with the final round of testing on your apps, and \u003ca href=\"https://falcon.readthedocs.io/en/latest/community/help.html#chat\"\u003elet us know\u003c/a\u003e if you run into any issues!\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0rc1/\"\u003e4.1.0rc1 on PyPI\u003c/a\u003e\n:books: \u003ca href=\"https://falcon.readthedocs.io/en/latest/changes/4.1.0.html\"\u003eChangelog on RtD\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAs always, you can grab this pre-release \u003ca href=\"https://pypi.org/project/falcon/4.1.0rc1/\"\u003efrom PyPI\u003c/a\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install falcon==4.1.0rc1\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eThank You!\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0b1\u003c/h2\u003e\n\u003cp\u003eThis is the first beta release of Falcon 4.1.\u003c/p\u003e\n\u003cp\u003eAs Falcon 4.1 is now feature-complete, we would really be thankful if you could take it for a spin with your apps, and \u003ca href=\"https://falcon.readthedocs.io/en/latest/community/help.html#chat\"\u003elet us know\u003c/a\u003e if you run into any issues!\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0b1/\"\u003e4.1.0b1 on PyPI\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/falconry/falcon/commit/277b9bddfe8f42a42e59ea1cc5bad2ba815fcc94\"\u003e\u003ccode\u003e277b9bd\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0\u003c/code\u003e stable (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/abee9a8c482995c8324f7e67fe92a318b44518e9\"\u003e\u003ccode\u003eabee9a8\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0rc1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2506\"\u003e#2506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/14f3789113689e1c4c8c83bcf2931dd9f8c82b1c\"\u003e\u003ccode\u003e14f3789\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0b1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2502\"\u003e#2502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/50877a19693273199183ceff899e51771d192682\"\u003e\u003ccode\u003e50877a1\u003c/code\u003e\u003c/a\u003e refactor(\u003cstrong\u003eall\u003c/strong\u003e): re-export identifiers from the public interface (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2503\"\u003e#2503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/cb33a71fb6314213cb656120238477fa29111f62\"\u003e\u003ccode\u003ecb33a71\u003c/code\u003e\u003c/a\u003e chore(typing): ignore unused ignore on 3.10-3.11 (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2505\"\u003e#2505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/eefa5dc274bd0818726c4b822f8af2e536adfc1e\"\u003e\u003ccode\u003eeefa5dc\u003c/code\u003e\u003c/a\u003e fix(ws): properly pass \u003ccode\u003eWebSocket\u003c/code\u003e object to sinks (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2498\"\u003e#2498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/c8e7d1dd5af65939d30d88a0fbc6aa2f2c920935\"\u003e\u003ccode\u003ec8e7d1d\u003c/code\u003e\u003c/a\u003e chore(build): update cibuildwheel to 3.1.0, disable \u003ccode\u003ecpython-prerelease\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2500\"\u003e#2500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/6dd24042e0833af4172f5be8173e21cd6f0e36d2\"\u003e\u003ccode\u003e6dd2404\u003c/code\u003e\u003c/a\u003e chore(release): prepare 4.1.0a3 (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2499\"\u003e#2499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/b7cf70eeca3446fa37e981b383a707eeee76866e\"\u003e\u003ccode\u003eb7cf70e\u003c/code\u003e\u003c/a\u003e chore(release): decouple jobs with \u003ccode\u003eid-token\u003c/code\u003e access from other actions (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2496\"\u003e#2496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/509e59bf018fd9fd389ea817b108ae6193f9e57f\"\u003e\u003ccode\u003e509e59b\u003c/code\u003e\u003c/a\u003e chore(release): grant permissions to upload release content (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2495\"\u003e#2495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/falconry/falcon/compare/4.0.2...4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.18.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygithub` from 2.6.1 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygithub/pygithub/releases\"\u003epygithub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse default type if known type is not supported by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3365\"\u003ePyGithub/PyGithub#3365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyGithub/PyGithub/compare/v2.8.0...v2.8.1\"\u003ehttps://github.com/PyGithub/PyGithub/compare/v2.8.0...v2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd self hosted runner management to Organization by \u003ca href=\"https://github.com/billnapier\"\u003e\u003ccode\u003e@​billnapier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3203\"\u003ePyGithub/PyGithub#3203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to generate release notes by \u003ca href=\"https://github.com/mball-agathos\"\u003e\u003ccode\u003e@​mball-agathos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3022\"\u003ePyGithub/PyGithub#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix connection pooling to improve connection performance by \u003ca href=\"https://github.com/chriskuehl\"\u003e\u003ccode\u003e@​chriskuehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3289\"\u003ePyGithub/PyGithub#3289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRepository.get_automated_security_fixes\u003c/code\u003e method by \u003ca href=\"https://github.com/zstyblik\"\u003e\u003ccode\u003e@​zstyblik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3303\"\u003ePyGithub/PyGithub#3303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eIssue\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3338\"\u003ePyGithub/PyGithub#3338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn more union classes like \u003ccode\u003eNamedUser | Organization | Enterprise\u003c/code\u003e by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3224\"\u003ePyGithub/PyGithub#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eEnterprise\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3342\"\u003ePyGithub/PyGithub#3342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eGitReleaseAsset\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3343\"\u003ePyGithub/PyGithub#3343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync many class with OpenAPI spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3344\"\u003ePyGithub/PyGithub#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePoint deprecation warnings to the caller code rather than inner class by \u003ca href=\"https://github.com/xmo-odoo\"\u003e\u003ccode\u003e@​xmo-odoo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3275\"\u003ePyGithub/PyGithub#3275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3356\"\u003ePyGithub/PyGithub#3356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix  API path of \u003ccode\u003eRepository.get_git_ref\u003c/code\u003e by \u003ca href=\"https://github.com/csalerno-asml\"\u003e\u003ccode\u003e@​csalerno-asml\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/2992\"\u003ePyGithub/PyGithub#2992\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRework redirection URL allowance check by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3329\"\u003ePyGithub/PyGithub#3329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGitRelease.name\u003c/code\u003e, deprecate \u003ccode\u003eGitRelease.title\u003c/code\u003e by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3346\"\u003ePyGithub/PyGithub#3346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e\u0026quot;COMMENT\u0026quot;\u003c/code\u003e as the default event for \u003ccode\u003ecreate_review\u003c/code\u003e by \u003ca href=\"https://github.com/eddie-santos\"\u003e\u003ccode\u003e@​eddie-santos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3078\"\u003ePyGithub/PyGithub#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for public release assets by \u003ca href=\"https://github.com/aolieman\"\u003e\u003ccode\u003e@​aolieman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3339\"\u003ePyGithub/PyGithub#3339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e by \u003ca href=\"https://github.com/interifter\"\u003e\u003ccode\u003e@​interifter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3291\"\u003ePyGithub/PyGithub#3291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor fix to release.yml by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3201\"\u003ePyGithub/PyGithub#3201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce test replay data by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3243\"\u003ePyGithub/PyGithub#3243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd check to OpenAPI script to check doc-string verbs by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3332\"\u003ePyGithub/PyGithub#3332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove apply OpenAPI schemas by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3333\"\u003ePyGithub/PyGithub#3333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config to OpenAPI script to ignore schemas by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3334\"\u003ePyGithub/PyGithub#3334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd suggest and create method feature to OpenAPI script by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3318\"\u003ePyGithub/PyGithub#3318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI OpenApi apply command by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3341\"\u003ePyGithub/PyGithub#3341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI scripts by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3340\"\u003ePyGithub/PyGithub#3340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI CI by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3347\"\u003ePyGithub/PyGithub#3347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRework test framework by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3271\"\u003ePyGithub/PyGithub#3271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome minor fixes to OpenAPI scripts by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3350\"\u003ePyGithub/PyGithub#3350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd manual workflow to fix auto-fixable issues by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3351\"\u003ePyGithub/PyGithub#3351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3330\"\u003ePyGithub/PyGithub#3330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse default per-page const in \u003ccode\u003ePaginatedList\u003c/code\u003e by \u003ca href=\"https://github.com/sam93210\"\u003e\u003ccode\u003e@​sam93210\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3039\"\u003ePyGithub/PyGithub#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3283\"\u003ePyGithub/PyGithub#3283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3348\"\u003ePyGithub/PyGithub#3348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious minor OpenAPI scripts fixes by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3353\"\u003ePyGithub/PyGithub#3353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd union class support to OpenAPI script by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3354\"\u003ePyGithub/PyGithub#3354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egithub_actions\u003c/code\u003e label to Maintenance section by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3357\"\u003ePyGithub/PyGithub#3357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade docformatter pre-commit hook by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3359\"\u003ePyGithub/PyGithub#3359\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/PyGithub/PyGithub/blob/main/doc/changes.rst\"\u003epygithub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.1 (September 02, 2025)\u003c/h2\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse default type if known type is not supported (\u003ccode\u003e[#3365](https://github.com/pygithub/pygithub/issues/3365) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3365\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e40506415 \u0026lt;https://github.com/PyGithub/PyGithub/commit/40506415\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.8.0 (September 02, 2025)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd self hosted runner management to Organization (\u003ccode\u003e[#3203](https://github.com/pygithub/pygithub/issues/3203) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3203\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e4ea1c4e2 \u0026lt;https://github.com/PyGithub/PyGithub/commit/4ea1c4e2\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support to generate release notes (\u003ccode\u003e[#3022](https://github.com/pygithub/pygithub/issues/3022) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3022\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ee359b83a \u0026lt;https://github.com/PyGithub/PyGithub/commit/e359b83a\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix connection pooling to improve connection performance (\u003ccode\u003e[#3289](https://github.com/pygithub/pygithub/issues/3289) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3289\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRepository.get_automated_security_fixes\u003c/code\u003e method (\u003ccode\u003e[#3303](https://github.com/pygithub/pygithub/issues/3303) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3303\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e22048d83 \u0026lt;https://github.com/PyGithub/PyGithub/commit/22048d83\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eIssue\u003c/code\u003e class with API spec (\u003ccode\u003e[#3338](https://github.com/pygithub/pygithub/issues/3338) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3338\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e62da467a \u0026lt;https://github.com/PyGithub/PyGithub/commit/62da467a\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eReturn more union classes like \u003ccode\u003eNamedUser | Organization | Enterprise\u003c/code\u003e (\u003ccode\u003e[#3224](https://github.com/pygithub/pygithub/issues/3224) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3224\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eaea64148 \u0026lt;https://github.com/PyGithub/PyGithub/commit/aea64148\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eEnterprise\u003c/code\u003e class with API spec (\u003ccode\u003e[#3342](https://github.com/pygithub/pygithub/issues/3342) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3342\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e01bb5ab1 \u0026lt;https://github.com/PyGithub/PyGithub/commit/01bb5ab1\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eGitReleaseAsset\u003c/code\u003e class with API spec (\u003ccode\u003e[#3343](https://github.com/pygithub/pygithub/issues/3343) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3343\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e74449fed \u0026lt;https://github.com/PyGithub/PyGithub/commit/74449fed\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync many class with OpenAPI spec (\u003ccode\u003e[#3344](https://github.com/pygithub/pygithub/issues/3344) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3344\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warnings to the caller code rather than inner class (\u003ccode\u003e[#3275](https://github.com/pygithub/pygithub/issues/3275) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3275\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e99bb5270 \u0026lt;https://github.com/PyGithub/PyGithub/commit/99bb5270\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAllow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods (\u003ccode\u003e[#3356](https://github.com/pygithub/pygithub/issues/3356) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3356\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e3234a21f \u0026lt;https://github.com/PyGithub/PyGithub/commit/3234a21f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix  API path of \u003ccode\u003eRepository.get_git_ref\u003c/code\u003e (\u003ccode\u003e[#2992](https://github.com/pygithub/pygithub/issues/2992) \u0026lt;https://github.com/PyGithub/PyGithub/pull/2992\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ea6965031 \u0026lt;https://github.com/PyGithub/PyGithub/commit/a6965031\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRework redirection URL allowance check (\u003ccode\u003e[#3329](https://github.com/pygithub/pygithub/issues/3329) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3329\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e065b1319 \u0026lt;https://github.com/PyGithub/PyGithub/commit/065b1319\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGitRelease.name\u003c/code\u003e, deprecate \u003ccode\u003eGitRelease.title\u003c/code\u003e (\u003ccode\u003e[#3346](https://github.com/pygithub/pygithub/issues/3346) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3346\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003efb51957f \u0026lt;https://github.com/PyGithub/PyGithub/commit/fb51957f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e\u0026quot;COMMENT\u0026quot;\u003c/code\u003e as the default event for \u003ccode\u003ecreate_review\u003c/code\u003e (\u003ccode\u003e[#3078](https://github.com/pygithub/pygithub/issues/3078) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3078\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e8494da5c \u0026lt;https://github.com/PyGithub/PyGithub/commit/8494da5c\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for public release assets (\u003ccode\u003e[#3339](https://github.com/pygithub/pygithub/issues/3339) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3339\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eabad296e \u0026lt;https://github.com/PyGithub/PyGithub/commit/abad296e\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eFix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e (\u003ccode\u003e[#3291](https://github.com/pygithub/pygithub/issues/3291) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3291\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e17bc4df4 \u0026lt;https://github.com/PyGithub/PyGithub/commit/17bc4df4\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMaintenance\n^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMinor fix to release.yml (\u003ccode\u003e[#3201](https://github.com/pygithub/pygithub/issues/3201) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3201\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ef1fc6e7c \u0026lt;https://github.com/PyGithub/PyGithub/commit/f1fc6e7c\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eReduce test replay data (\u003ccode\u003e[#3243](https://github.com/pygithub/pygithub/issues/3243) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3243\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e19426454 \u0026lt;https://github.com/PyGithub/PyGithub/commit/19426454\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd check to OpenAPI script to check doc-string verbs (\u003ccode\u003e[#3332](https://github.com/pygithub/pygithub/issues/3332) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3332\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e3efde77d \u0026lt;https://github.com/PyGithub/PyGithub/commit/3efde77d\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove apply OpenAPI schemas (\u003ccode\u003e[#3333](https://github.com/pygithub/pygithub/issues/3333) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3333\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eec189dd6 \u0026lt;https://github.com/PyGithub/PyGithub/commit/ec189dd6\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd config to OpenAPI script to ignore schemas (\u003ccode\u003e[#3334](https://github.com/pygithub/pygithub/issues/3334) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3334\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e0478d33b \u0026lt;https://github.com/PyGithub/PyGithub/commit/0478d33b\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd suggest and create method feature to OpenAPI script (\u003ccode\u003e[#3318](https://github.com/pygithub/pygithub/issues/3318) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3318\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix CI OpenApi apply command (\u003ccode\u003e[#3341](https://github.com/pygithub/pygithub/issues/3341) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3341\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ecdc10a27 \u0026lt;https://github.com/PyGithub/PyGithub/commit/cdc10a27\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI scripts (\u003ccode\u003e[#3340](https://github.com/pygithub/pygithub/issues/3340) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3340\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ead278c5f \u0026lt;https://github.com/PyGithub/PyGithub/commit/ad278c5f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI CI (\u003ccode\u003e[#3347](https://github.com/pygithub/pygithub/issues/3347) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3347\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e8165bbc9 \u0026lt;https://github.com/PyGithub/PyGithub/commit/8165bbc9\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRework test framework (\u003ccode\u003e[#3271](https://github.com/pygithub/pygithub/issues/3271) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3271\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e1b700187 \u0026lt;https://github.com/PyGithub/PyGithub/commit/1b700187\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSome minor fixes to OpenAPI scripts (\u003ccode\u003e[#3350](https://github.com/pygithub/pygithub/issues/3350) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3350\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ea813a945 \u0026lt;https://github.com/PyGithub/PyGithub/commit/a813a945\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd manual workflow to fix auto-fixable issues (\u003ccode\u003e[#3351](https://github.com/pygithub/pygithub/issues/3351) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3351\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e0e6317d9 \u0026lt;https://github.com/PyGithub/PyGithub/commit/0e6317d9\u0026gt;\u003c/code\u003e\u003c/em\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/PyGithub/PyGithub/commit/ecd47649e302a4b2d3e9b9d03eedb931e7b1ee23\"\u003e\u003ccode\u003eecd4764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/40506415072640b8c95356cd7747dfd39ae252cf\"\u003e\u003ccode\u003e4050641\u003c/code\u003e\u003c/a\u003e Use default type if known type is not supported (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/18eeb269686aa5ee61ee7305ffbc3f0146c0bf5c\"\u003e\u003ccode\u003e18eeb26\u003c/code\u003e\u003c/a\u003e Release 2.8.0 (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/17bc4df41a2b5fddad062e7e34c1921ed28570d3\"\u003e\u003ccode\u003e17bc4df\u003c/code\u003e\u003c/a\u003e Fix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/6f0d6efaebb40ce78b961ca84cd494b103d37894\"\u003e\u003ccode\u003e6f0d6ef\u003c/code\u003e\u003c/a\u003e Update docs on development (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/12d8d10ceec2d58d7d867147d04dad925741eda4\"\u003e\u003ccode\u003e12d8d10\u003c/code\u003e\u003c/a\u003e Add warning about Checks API in doc-strings (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3229\"\u003e#3229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/6ec3ca24a0b32267029bb0c865bccf47fded6285\"\u003e\u003ccode\u003e6ec3ca2\u003c/code\u003e\u003c/a\u003e Upgrade docformatter pre-commit hook (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/9612e61bf78ac2b6c2224624220c048d4c643b63\"\u003e\u003ccode\u003e9612e61\u003c/code\u003e\u003c/a\u003e Revert \u003ccode\u003eget_enterprise\u003c/code\u003e breaking change (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3358\"\u003e#3358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/0c31f848adfa96a00f9ae6145e443932a0161e4c\"\u003e\u003ccode\u003e0c31f84\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003egithub_actions\u003c/code\u003e label to Maintenance section (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3357\"\u003e#3357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/3234a21f7062bc1bc3b55f8077edb20ca3bdcdd9\"\u003e\u003ccode\u003e3234a21\u003c/code\u003e\u003c/a\u003e Allow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3356\"\u003e#3356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pygithub/pygithub/compare/v2.6.1...v2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 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\u003ch2\u003ev2.32.4\u003c/h2\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. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\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. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\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/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\u003c/blockquote\u003e\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 `taskiq-redis` from 1.0.9 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/releases\"\u003etaskiq-redis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: debug log for pending messages count in RedisStreamBroker by \u003ca href=\"https://github.com/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/96\"\u003etaskiq-python/taskiq-redis#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(broker): allow to set queue name dynamically when kicking on redis-cluster brokers by \u003ca href=\"https://github.com/ns-gtassery\"\u003e\u003ccode\u003e@​ns-gtassery\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/94\"\u003etaskiq-python/taskiq-redis#94\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic queue name for all brokers by \u003ca href=\"https://github.com/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/100\"\u003etaskiq-python/taskiq-redis#100\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/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/96\"\u003etaskiq-python/taskiq-redis#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ns-gtassery\"\u003e\u003ccode\u003e@​ns-gtassery\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/94\"\u003etaskiq-python/taskiq-redis#94\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/compare/1.1.0...1.1.1\"\u003ehttps://github.com/taskiq-python/taskiq-redis/compare/1.1.0...1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated redis library to version 6. by \u003ca href=\"https://github.com/s3rius\"\u003e\u003ccode\u003e@​s3rius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/98\"\u003etaskiq-python/taskiq-redis#98\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/compare/1.0.9...1.1.0\"\u003ehttps://github.com/taskiq-python/taskiq-redis/compare/1.0.9...1.1.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/taskiq-python/taskiq-redis/commit/4a8f0150b1293969706d51927910738267c4cc9d\"\u003e\u003ccode\u003e4a8f015\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/issues/102\"\u003e#102\u003c/a\u003e from FlorianLB/fix-dynamic-ack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/cb635b6c9e04cc5b3af62010eff1679e9d3aeff5\"\u003e\u003ccode\u003ecb635b6\u003c/code\u003e\u003c/a\u003e fix: ack to the right stream in case of dynamic queue name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/0ff98e1cf11d77fb4ba13db3b714c052c4506bfb\"\u003e\u003ccode\u003e0ff98e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/issues/100\"\u003e#100\u003c/a\u003e from FlorianLB/feat-custom-queue-name-per-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/fe2bfdf6b78feaf1b3a7c34c567a60bb894bafaf\"\u003e\u003ccode\u003efe2bfdf\u003c/code\u003e\u003c/a\u003e feat: support custom queue_name per message for all kick methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/e1eca8a96fd7c5ece3c89348157dc798...\n\n_Description has been truncated_","html_url":"https://github.com/OpenNeuroOrg/openneuro/pull/3613","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/issues/3613","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3613/packages"},{"uuid":"3552667800","node_id":"PR_kwDOOgVuRs6vrvuV","number":62,"state":"open","title":"Bump pygit2 from 1.18.2 to 1.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-25T16:05:11.000Z","updated_at":"2025-10-25T16:05:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.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/pythonpe/edit-python.pe/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"},{"uuid":"2888492759","node_id":"PR_kwDOGsjhQM6sKubX","number":205,"state":"open","title":"Bump pygit2 from 1.18.0 to 1.18.2","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-06T00:13:20.000Z","updated_at":"2025-10-06T00:13:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/spjuhel/BoARIO/pull/205","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/spjuhel%2FBoARIO/issues/205","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/205/packages"},{"uuid":"3386912544","node_id":"PR_kwDOOgVuRs6nA6Cw","number":40,"state":"open","title":"Bump pygit2 from 1.17.0 to 1.18.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-05T09:35:57.000Z","updated_at":"2025-09-06T03:07:00.525Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.17.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.17.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.17.0...v1.18.2\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.2)](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/pythonpe/edit-python.pe/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"},{"uuid":"2773139089","node_id":"PR_kwDOMloi_c6lSr6R","number":645,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-26T16:13:13.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T22:06:07.000Z","updated_at":"2025-08-26T16:13:13.000Z","time_to_close":65226,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/CDCgov/pyrenew-hew/pull/645","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDCgov%2Fpyrenew-hew/issues/645","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/645/packages"},{"uuid":"2772170014","node_id":"PR_kwDOLp4nY86lO_Ue","number":75,"state":"closed","title":"chore(deps): bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-02T10:40:27.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T15:09:08.000Z","updated_at":"2025-09-02T10:40:27.000Z","time_to_close":675079,"merged_at":"2025-09-02T10:40:27.000Z","merged_by":"RestartB","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/RestartB/titanium/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RestartB%2Ftitanium/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"},{"uuid":"2751663127","node_id":"PR_kwDOBv1Mnc6kAwwX","number":2601,"state":"open","title":"Bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-18T00:47:11.000Z","updated_at":"2025-08-18T00:47:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/wpt-sync/pull/2601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fwpt-sync/issues/2601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2601/packages"},{"uuid":"2737226781","node_id":"PR_kwDOHgFTcc6jJsQd","number":593,"state":"closed","title":"Bump pygit2 from 1.17.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-12T12:45:20.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-12T00:16:00.000Z","updated_at":"2025-08-12T12:45:20.000Z","time_to_close":44960,"merged_at":"2025-08-12T12:45:20.000Z","merged_by":"sobregosodd","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.17.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.17.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.0 (2025-04-24)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade Linux Glibc wheels to \u003ccode\u003emanylinux_2_28\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eRemoteCallbacks.push_transfer_progress(...)\u003c/code\u003e callback\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1345\"\u003e#1345\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003ebool(oid)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1347\"\u003e#1347\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge(...)\u003c/code\u003e accepts a commit or reference object\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1348\"\u003e#1348\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003ethreads\u003c/code\u003e optional argument in \u003ccode\u003eRemote.push(...)\u003c/code\u003e\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.17.0...v1.18.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.1)](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/DataDog/guarddog/pull/593","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fguarddog/issues/593","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/593/packages"},{"uuid":"2736221203","node_id":"PR_kwDOMloi_c6jF2wT","number":622,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-25T22:06:10.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-11T16:55:34.000Z","updated_at":"2025-08-25T22:06:10.000Z","time_to_close":1228236,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.1\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.1)](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/CDCgov/pyrenew-hew/pull/622","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDCgov%2Fpyrenew-hew/issues/622","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/622/packages"},{"uuid":"2715638329","node_id":"PR_kwDOI6rgAs6h3Vo5","number":1131,"state":"closed","title":"build(deps): bump pygit2 from 1.18.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-03T09:33:12.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-03T05:33:49.000Z","updated_at":"2025-08-03T09:33:12.000Z","time_to_close":14363,"merged_at":"2025-08-03T09:33:12.000Z","merged_by":"hk21702","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.1\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.1)](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)\nDependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @hk21702.\n\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/RimSort/RimSort/pull/1131","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimSort%2FRimSort/issues/1131","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1131/packages"}],"issue_packages":[{"old_version":"1.18.2","new_version":"1.19.1","update_type":"minor","path":null,"pr_created_at":"2026-03-09T09:29:08.000Z","version_change":"1.18.2 → 1.19.1","issue":{"uuid":"4044437426","node_id":"PR_kwDOPf23ns7JA3PJ","number":3526,"state":"open","title":"deps(deps): bump pygit2 from 1.18.2 to 1.19.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-09T09:29:08.000Z","updated_at":"2026-03-09T09:49:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.1)](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/Aries-Serpent/_codex_/pull/3526","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aries-Serpent%2F_codex_/issues/3526","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3526/packages"}},{"old_version":"1.18.2","new_version":"1.19.1","update_type":"minor","path":null,"pr_created_at":"2026-02-21T02:39:45.000Z","version_change":"1.18.2 → 1.19.1","issue":{"uuid":"3971112133","node_id":"PR_kwDORAhFZs7FS-SH","number":5,"state":"closed","title":"Bump the all-deps group across 1 directory with 56 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-28T04:30:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-21T02:39:45.000Z","updated_at":"2026-02-28T04:30:29.000Z","time_to_close":611443,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":56,"packages":[{"name":"aiosqlite","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"24.4.2","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.8.11","new_version":"2.9.0","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"51","new_version":"52","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"click","old_version":"8.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.14","new_version":"1.4.15","repository_url":"https://github.com/enthought/comtypes"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"fsspec","old_version":"2025.12.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gmsh","old_version":"4.15.0","new_version":"4.15.1"},{"name":"ladybug-comfort","old_version":"0.18.96","new_version":"0.18.103","repository_url":"https://github.com/ladybug-tools/ladybug-comfort"},{"name":"ladybug-core","old_version":"0.44.29","new_version":"0.44.36","repository_url":"https://github.com/ladybug-tools/ladybug"},{"name":"ladybug-display","old_version":"0.13.3","new_version":"0.13.6","repository_url":"https://github.com/ladybug-tools/ladybug-display"},{"name":"ladybug-geometry","old_version":"1.34.14","new_version":"1.34.19","repository_url":"https://github.com/ladybug-tools/ladybug-geometry"},{"name":"markdown","old_version":"3.10","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.63.1","new_version":"0.64.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"openstudio","old_version":"3.10.0","new_version":"3.11.0","repository_url":"https://github.com/NREL/OpenStudio"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"12.0.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pooch","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/fatiando/pooch"},{"name":"posthog","old_version":"7.4.2","new_version":"7.9.3","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycollada","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/pycollada/pycollada"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyfakefs","old_version":"6.0.0","new_version":"6.1.1","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyoptools","old_version":"0.3.7","new_version":"0.3.8"},{"name":"pyparsing","old_version":"3.3.0","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproj","old_version":"3.7.1","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"pyvista","old_version":"0.46.4","new_version":"0.47.0","repository_url":"https://github.com/pyvista/pyvista"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"scikit-image","old_version":"0.25.2","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.15.3","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.48.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"soupsieve","old_version":"2.8.1","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"testtools","old_version":"2.8.2","new_version":"2.8.4","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"tifffile","old_version":"2025.5.10","new_version":"2026.2.20","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"trimesh","old_version":"4.10.1","new_version":"4.11.2","repository_url":"https://github.com/mikedh/trimesh"},{"name":"txaio","old_version":"25.9.2","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"urllib3","old_version":"2.6.2","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vedo","old_version":"2025.5.4","new_version":"2026.6.1","repository_url":"https://github.com/marcomusy/vedo"},{"name":"vtk","old_version":"9.5.2","new_version":"9.6.0"},{"name":"xarray","old_version":"2025.6.1","new_version":"2026.2.0","repository_url":"https://github.com/pydata/xarray"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-deps group with 56 updates in the /Data/Python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.22.0` | `0.22.1` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `24.4.2` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.8.11` | `2.9.0` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `51` | `52` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.14` | `1.4.15` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.5` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.12.0` | `2026.2.0` |\n| [gmsh](https://gmsh.info) | `4.15.0` | `4.15.1` |\n| [ladybug-comfort](https://github.com/ladybug-tools/ladybug-comfort) | `0.18.96` | `0.18.103` |\n| [ladybug-core](https://github.com/ladybug-tools/ladybug) | `0.44.29` | `0.44.36` |\n| [ladybug-display](https://github.com/ladybug-tools/ladybug-display) | `0.13.3` | `0.13.6` |\n| [ladybug-geometry](https://github.com/ladybug-tools/ladybug-geometry) | `1.34.14` | `1.34.19` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10` | `3.10.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.64.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.2` |\n| [openstudio](https://github.com/NREL/OpenStudio) | `3.10.0` | `3.11.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.7` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.0.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pooch](https://github.com/fatiando/pooch) | `1.8.2` | `1.9.0` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.4.2` | `7.9.3` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.5` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pycollada](https://github.com/pycollada/pycollada) | `0.9.2` | `0.9.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `6.0.0` | `6.1.1` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.18.2` | `1.19.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.10.1` | `2.11.0` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| pyoptools | `0.3.7` | `0.3.8` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.0` | `3.3.2` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.7.1` | `3.7.2` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.46.4` | `0.47.0` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.25.2` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.17.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.48.0` | `2.53.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.1` | `2.8.3` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.8.2` | `2.8.4` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2025.5.10` | `2026.2.20` |\n| [trimesh](https://github.com/mikedh/trimesh) | `4.10.1` | `4.11.2` |\n| [txaio](https://github.com/crossbario/txaio) | `25.9.2` | `25.12.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.2` | `2.6.3` |\n| [vedo](https://github.com/marcomusy/vedo) | `2025.5.4` | `2026.6.1` |\n| [vtk](https://vtk.org) | `9.5.2` | `9.6.0` |\n| [xarray](https://github.com/pydata/xarray) | `2025.6.1` | `2026.2.0` |\n\n\nUpdates `aiosqlite` from 0.22.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.22.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 24.4.2 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eDevelopment Build fork-68427734-oberstet_autobahn_python-strict_typing_test-202601141357\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: 1c7d45cd\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-14 14:02:37 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cp\u003eDownload the appropriate wheel for your platform:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install \u0026lt;downloaded-wheel-file\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eArtifact Inventory\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-cee77a0c-bblommers_autobahn_python-chore_apply_ruff_up-202601092138\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: b006e90e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-09 21:43:05 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v24.4.2...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.8.11 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.9.0\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: drop Python 3.9 by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3816\"\u003escikit-hep/awkward#3816\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass the right input type to \u003ccode\u003eawkward_NumpyArray_subrange_equal*\u003c/code\u003e kernels by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3818\"\u003escikit-hep/awkward#3818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: define behavior class within the test function in \u003ccode\u003etest_1511_set_attribute.py\u003c/code\u003e to make it thread-local by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3826\"\u003escikit-hep/awkward#3826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: properly respect requested byteorder in \u003ccode\u003eak.from_buffers\u003c/code\u003e for ndarray buffers by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3820\"\u003escikit-hep/awkward#3820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eset_mask\u003c/code\u003e instead of \u003ccode\u003eset_base_mask\u003c/code\u003e in \u003ccode\u003eto_cudf\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3847\"\u003escikit-hep/awkward#3847\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: use \u0026quot;M8\u0026quot; dtype instead of \u0026quot;\u0026lt;M8\u0026quot; in tests by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3819\"\u003escikit-hep/awkward#3819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 in the actions group 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/scikit-hep/awkward/pull/3828\"\u003escikit-hep/awkward#3828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move array definitions inside test functions in \u003ccode\u003etest_1490_jax_reducers_combinations.py\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3829\"\u003escikit-hep/awkward#3829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: xfail \u003ccode\u003etests-cuda/test_3051_to_cuda.py\u003c/code\u003e only in the latest cudf by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3836\"\u003escikit-hep/awkward#3836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: do not skip \u003ccode\u003etest_recordarray_argmax_y_field\u003c/code\u003e and make the xfail reason consistent for \u003ccode\u003etest_listarray_sort\u003c/code\u003e in  \u003ccode\u003etests-cuda/test_3459_virtualarray_with_cuda.py\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3837\"\u003escikit-hep/awkward#3837\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3834\"\u003escikit-hep/awkward#3834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: delete old \u003ccode\u003eVirtualArray\u003c/code\u003e class by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3848\"\u003escikit-hep/awkward#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: drop support for PyPy by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3835\"\u003escikit-hep/awkward#3835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: drop 3.13t by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3843\"\u003escikit-hep/awkward#3843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: drop cp/pp build selectors by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3854\"\u003escikit-hep/awkward#3854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add automated contributions policy to CONTRIBUTING.md by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3831\"\u003escikit-hep/awkward#3831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document named-axis support for axis in high-level operations by \u003ca href=\"https://github.com/X0708a\"\u003e\u003ccode\u003e@​X0708a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3823\"\u003escikit-hep/awkward#3823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: improve \u003ccode\u003eak.to_cudf\u003c/code\u003e errors and documentation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3850\"\u003escikit-hep/awkward#3850\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.12...v2.9.0\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.12...v2.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.12\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: improve merging of \u003ccode\u003eNumpyArray\u003c/code\u003es and simplification of \u003ccode\u003eUnionArray\u003c/code\u003es + fix \u003ccode\u003eak.almost_equal\u003c/code\u003e for \u003ccode\u003eUnionArray\u003c/code\u003es by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3773\"\u003escikit-hep/awkward#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003eak.sort()\u003c/code\u003e for CUDA backend by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3750\"\u003escikit-hep/awkward#3750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Make \u003ccode\u003eak.combinations\u003c/code\u003e faster on GPU by using \u003ccode\u003ecp.searchsorted\u003c/code\u003e to compute output list indexes by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3795\"\u003escikit-hep/awkward#3795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add argmax implementation using CCCL by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3777\"\u003escikit-hep/awkward#3777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: make \u003ccode\u003eak.combinations\u003c/code\u003e faster on GPU by using \u003ccode\u003ecp.searchsorted\u003c/code\u003e to compute output list indexes by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3798\"\u003escikit-hep/awkward#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add argmin implementation using CCCL by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3811\"\u003escikit-hep/awkward#3811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: incorrect type passed down for the \u003ccode\u003emergeastable\u003c/code\u003e argument by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3779\"\u003escikit-hep/awkward#3779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix \u003ccode\u003eak.validity_error\u003c/code\u003e for typetracer-backed layouts with unknown length by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3784\"\u003escikit-hep/awkward#3784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make \u003ccode\u003eak.enforce_type\u003c/code\u003e work with typetracers by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3764\"\u003escikit-hep/awkward#3764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.show()\u003c/code\u003e formatter forwarding by \u003ca href=\"https://github.com/X0708a\"\u003e\u003ccode\u003e@​X0708a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3796\"\u003escikit-hep/awkward#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fix and test \u003ccode\u003eForm.length_zero/one_array()\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3810\"\u003escikit-hep/awkward#3810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make named axis thread-safe and start testing using multiple threads in CI by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3805\"\u003escikit-hep/awkward#3805\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: use codecov token by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3769\"\u003escikit-hep/awkward#3769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macOS to test ML dependencies by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3774\"\u003escikit-hep/awkward#3774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions group across 1 directory with 5 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/scikit-hep/awkward/pull/3778\"\u003escikit-hep/awkward#3778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: xfail failing cudf tests until fixed by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3781\"\u003escikit-hep/awkward#3781\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/scikit-hep/awkward/commit/e4be9febc76c610eea671ef3f0e3084cb206da49\"\u003e\u003ccode\u003ee4be9fe\u003c/code\u003e\u003c/a\u003e awkward 2.9.0 and awkward-cpp 52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/254fcb3cacf113aa20f4c959e9aa6d0d3f5d8e56\"\u003e\u003ccode\u003e254fcb3\u003c/code\u003e\u003c/a\u003e ci: drop cp/pp build selectors (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0b5ee6e87d2a6d475c58ee0b3ff2106b415311fd\"\u003e\u003ccode\u003e0b5ee6e\u003c/code\u003e\u003c/a\u003e awkward 2.8.13 and awkward-cpp 52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/c8c9cff788a1874fb47c87f90e97e3742c09bd85\"\u003e\u003ccode\u003ec8c9cff\u003c/code\u003e\u003c/a\u003e refactor: improve \u003ccode\u003eak.to_cudf\u003c/code\u003e errors and documentation (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/303bcdd2077f5e778b688dcd324696c215c1dcd0\"\u003e\u003ccode\u003e303bcdd\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eset_mask\u003c/code\u003e instead of \u003ccode\u003eset_base_mask\u003c/code\u003e in \u003ccode\u003eto_cudf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1e1ca0ceccc6a330e23f047d68ba8befa1c4c085\"\u003e\u003ccode\u003e1e1ca0c\u003c/code\u003e\u003c/a\u003e docs: document named-axis support for axis in high-level operations (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/d2fac8d2645f26c625ddec204e377a30219c276c\"\u003e\u003ccode\u003ed2fac8d\u003c/code\u003e\u003c/a\u003e chore: delete old \u003ccode\u003eVirtualArray\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/4da20e63e8ff613280b3c82c5712deaaf36d84fb\"\u003e\u003ccode\u003e4da20e6\u003c/code\u003e\u003c/a\u003e docs: add automated contributions policy to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/02d8408c4a36097064a3e66749dcc26a3cccb626\"\u003e\u003ccode\u003e02d8408\u003c/code\u003e\u003c/a\u003e ci: drop 3.13t (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/675ff70fb896cb39a7ab59cddc4020c31d7628e3\"\u003e\u003ccode\u003e675ff70\u003c/code\u003e\u003c/a\u003e build: drop support for PyPy (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3835\"\u003e#3835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.8.11...v2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 51 to 52\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.14 to 1.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace the module-level skip with individual \u003ccode\u003e@skip\u003c/code\u003e decorators on the test methods in \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd tests for \u003ccode\u003estdole.IPicture\u003c/code\u003e creation through \u003ccode\u003eIStream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove enum testing in \u003ccode\u003etest_client.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRevive and enhance \u003ccode\u003etest_outparam\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_stream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_storage\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emalloc\u003c/code\u003e module. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance and refactor COM moniker tests. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRefine type hints and enhance tests for \u003ccode\u003eclient.GetClassObject\u003c/code\u003e, \u003ccode\u003eCoGetClassObject\u003c/code\u003e and \u003ccode\u003eIClassFactory\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce warnings for Python 3.15 enum compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/blob/main/CHANGES.txt\"\u003ecomtypes's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace the module-level skip with individual \u003ccode\u003e@skip\u003c/code\u003e decorators on the test methods in \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd tests for \u003ccode\u003estdole.IPicture\u003c/code\u003e creation through \u003ccode\u003eIStream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove enum testing in \u003ccode\u003etest_client.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRevive and enhance \u003ccode\u003etest_outparam\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_stream\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003etest_storage\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emalloc\u003c/code\u003e module. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance and refactor COM moniker tests. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRefine type hints and enhance tests for \u003ccode\u003eclient.GetClassObject\u003c/code\u003e, \u003ccode\u003eCoGetClassObject\u003c/code\u003e and \u003ccode\u003eIClassFactory\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce warnings for Python 3.15 enum compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\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/enthought/comtypes/commit/07ab1f45c1c7b474546a582ff81640886259c675\"\u003e\u003ccode\u003e07ab1f4\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.15 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/908\"\u003e#908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/7008819f79e6a2d3654b5d82e5f24bb88e886b8a\"\u003e\u003ccode\u003e7008819\u003c/code\u003e\u003c/a\u003e Introduce warnings for Python 3.15 enum compatibility and improve test stabil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1fc72e0f77918cdf3cfc6a2ebd7ebf9a685da079\"\u003e\u003ccode\u003e1fc72e0\u003c/code\u003e\u003c/a\u003e Enhance \u003ccode\u003eITypeComp.Bind\u003c/code\u003e tests and type hints. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/906\"\u003e#906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1aab6ae9b3d23a42d1e5d84c97ee45435c346e8b\"\u003e\u003ccode\u003e1aab6ae\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003eITypeInfo.AddressOfMember\u003c/code\u003e with tests and clarifications. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/905\"\u003e#905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/921b6990aa14fda9476970bad03eb11fb0333d2d\"\u003e\u003ccode\u003e921b699\u003c/code\u003e\u003c/a\u003e Refine type hints and enhance dynamic dispatch tests for `client.GetClassObje...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/af2872f943eb1655ff8f1e0c78cb8b2947ec36c3\"\u003e\u003ccode\u003eaf2872f\u003c/code\u003e\u003c/a\u003e Improve type hints and tests for \u003ccode\u003eIClassFactory.CreateInstance\u003c/code\u003e and `CoGetCla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/3ff96695881bf3257ddd8af00088cf0ee90cd5c4\"\u003e\u003ccode\u003e3ff9669\u003c/code\u003e\u003c/a\u003e Enhance and refactor COM moniker and binding context tests (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/902\"\u003e#902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/1f5c5d572560425b025d33e522344128a0ea27dd\"\u003e\u003ccode\u003e1f5c5d5\u003c/code\u003e\u003c/a\u003e Enhance memory management features and \u003ccode\u003eIStorage\u003c/code\u003e/\u003ccode\u003eIStream\u003c/code\u003e tests. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/901\"\u003e#901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/8c3bdecf1c5bf97e9502e9a2513a6e1a65136d27\"\u003e\u003ccode\u003e8c3bdec\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003emalloc\u003c/code\u003e module and enhance COM memory management tests. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/899\"\u003e#899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/baef7730aa928caaa481b848e50a9f257b307e32\"\u003e\u003ccode\u003ebaef773\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003emalloc\u003c/code\u003e module (part 1) (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/enthought/comtypes/compare/1.4.14...1.4.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `contourpy` from 1.3.2 to 1.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/contourpy/contourpy/releases\"\u003econtourpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.3\u003c/h2\u003e\n\u003cp\u003eContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports CPython 3.11 to 3.14, and PyPy 3.11.\u003c/p\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Windows on ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/476\"\u003e#476\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/477\"\u003e#477\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump minimum supported Python to 3.11 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/479\"\u003e#479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/485\"\u003e#485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate type annotations for \u003ccode\u003ebokeh\u003c/code\u003e 3.7.3 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type annotation changes in \u003ccode\u003enumpy\u003c/code\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBuild, testing and CI improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.13.3 pin (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI install \u003ccode\u003enumpy\u003c/code\u003e 2.3.2 wheels from PyPI for Python 3.14 and Windows ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/488\"\u003e#488\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/contourpy/contourpy/blob/main/docs/changelog.rst\"\u003econtourpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.3 (2025-07-26)\u003c/h2\u003e\n\u003cp\u003eContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports CPython 3.11 to 3.14, and PyPy 3.11.\u003c/p\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Windows on ARM (:pr:\u003ccode\u003e476\u003c/code\u003e, :pr:\u003ccode\u003e477\u003c/code\u003e, :pr:\u003ccode\u003e483\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBump minimum supported Python to 3.11 (:pr:\u003ccode\u003e[#478](https://github.com/contourpy/contourpy/issues/478)\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 (:pr:\u003ccode\u003e479\u003c/code\u003e, :pr:\u003ccode\u003e485\u003c/code\u003e, :pr:\u003ccode\u003e490\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate type annotations for \u003ccode\u003ebokeh\u003c/code\u003e 3.7.3 (:pr:\u003ccode\u003e475\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport type annotation changes in \u003ccode\u003enumpy\u003c/code\u003e 2.3.0 (:pr:\u003ccode\u003e480\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBuild, testing and CI improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.13.3 pin (:pr:\u003ccode\u003e487\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCI install \u003ccode\u003enumpy\u003c/code\u003e 2.3.2 wheels from PyPI for Python 3.14 and Windows ARM (:pr:\u003ccode\u003e488\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/contourpy/contourpy/commit/713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b\"\u003e\u003ccode\u003e713550a\u003c/code\u003e\u003c/a\u003e Prepare for v1.3.3 release (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/9fa322750757cf080e2fa54e7d6597c10dfe75c0\"\u003e\u003ccode\u003e9fa3227\u003c/code\u003e\u003c/a\u003e Reinstate image tests for python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/e818810855fead1080260c2e4c1cfa254e99a7df\"\u003e\u003ccode\u003ee818810\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel to 3.1.1 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/d8007917fe0461384559241bee7dd31a591a049b\"\u003e\u003ccode\u003ed800791\u003c/code\u003e\u003c/a\u003e CI install numpy 2.3.2 wheels from pypi for python 3.14 and windows arm (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/881ca7fde63afd4ed0178bb7f3eaed3e56680f0d\"\u003e\u003ccode\u003e881ca7f\u003c/code\u003e\u003c/a\u003e Remove 3.13.3 pin (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/a58d9d0288935a627f6d695d6eed0dc26dd7ee12\"\u003e\u003ccode\u003ea58d9d0\u003c/code\u003e\u003c/a\u003e Update mypy to 1.17.0 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/a32405f294eb5ee43ed9362d44a132c23e9d6457\"\u003e\u003ccode\u003ea32405f\u003c/code\u003e\u003c/a\u003e Use matplotlib images tests for python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/33d9d9dba2111937c72fc53af247002871080c18\"\u003e\u003ccode\u003e33d9d9d\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 in the actions group (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/154fbfd0df5fbd52d8bde3e65771d180687ecc70\"\u003e\u003ccode\u003e154fbfd\u003c/code\u003e\u003c/a\u003e Disable nightly wheels test on Windows on ARM (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/contourpy/contourpy/commit/20936c532c2d8e36e2a8aa078d6e8d9b4787e38e\"\u003e\u003ccode\u003e20936c5\u003c/code\u003e\u003c/a\u003e Support python 3.14 (\u003ca href=\"https://redirect.github.com/contourpy/contourpy/issues/479\"\u003e#479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/contourpy/contourpy/compare/v1.3.2...v1.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.3 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.3...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` 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/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/Addons/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FAddons/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"1.13.3","new_version":"1.19.1","update_type":"minor","path":"/Data/Python/Constraints","pr_created_at":"2026-01-24T20:06:48.000Z","version_change":"1.13.3 → 1.19.1","issue":{"uuid":"3851959999","node_id":"PR_kwDORAhFZs6_K0k5","number":1,"state":"open","title":"Bump the all-deps group in /Data/Python/Constraints with 81 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-24T20:06:48.000Z","updated_at":"2026-01-31T04:01:14.540Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":81,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"21.3.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.6.10","new_version":"2.8.11","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"40","new_version":"51","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"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.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.12","new_version":"1.4.15","repository_url":"https://github.com/enthought/comtypes"},{"name":"configparser","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/jaraco/configparser"},{"name":"contourpy","old_version":"1.1.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cpylog","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/SteveDoyle2/cpylog"},{"name":"docutils","old_version":"0.20.1","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"ezdxf","old_version":"1.1.4","new_version":"1.4.3","repository_url":"https://github.com/mozman/ezdxf"},{"name":"fonttools","old_version":"4.57.0","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.3.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geomdl","old_version":"5.3.1","new_version":"5.4.0","repository_url":"https://github.com/orbingol/NURBS-Python"},{"name":"ijson","old_version":"3.3.0","new_version":"3.4.0.post0","repository_url":"https://github.com/ICRAR/ijson"},{"name":"imageio","old_version":"2.35.1","new_version":"2.37.2","repository_url":"https://github.com/imageio/imageio"},{"name":"importlib-metadata","old_version":"8.5.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"importlib-resources","old_version":"6.4.5","new_version":"6.5.2","repository_url":"https://github.com/python/importlib_resources"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"ladybug-comfort","old_version":"0.18.96","new_version":"0.18.97","repository_url":"https://github.com/ladybug-tools/ladybug-comfort"},{"name":"ladybug-core","old_version":"0.44.29","new_version":"0.44.30","repository_url":"https://github.com/ladybug-tools/ladybug"},{"name":"llvmlite","old_version":"0.41.1","new_version":"0.46.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"markdown","old_version":"3.7","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"networkx","old_version":"3.1","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.58.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.24.4","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"openstudio","old_version":"3.10.0","new_version":"3.11.0","repository_url":"https://github.com/NREL/OpenStudio"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.0.3","new_version":"3.0.0","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"10.4.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"4.2.0","new_version":"7.6.0","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"5.29.5","new_version":"6.33.4","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycollada","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/pycollada/pycollada"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.13.3","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyopenxr","old_version":"1.1.4601","new_version":"1.1.5301","repository_url":"https://github.com/cmbruns/pyopenxr"},{"name":"pyoptools","old_version":"0.2.1","new_version":"0.3.7"},{"name":"pyparsing","old_version":"3.1.4","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypresence","old_version":"4.3.0","new_version":"4.6.1","repository_url":"https://github.com/qwertyquerty/pypresence"},{"name":"pyproj","old_version":"3.5.0","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pyvista","old_version":"0.44.2","new_version":"0.46.5","repository_url":"https://github.com/pyvista/pyvista"},{"name":"pywavelets","old_version":"1.4.1","new_version":"1.9.0","repository_url":"https://github.com/PyWavelets/pywt"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.0","repository_url":"https://github.com/Textualize/rich"},{"name":"scikit-image","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.3.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.10.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.48.0","new_version":"2.50.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"streamdeck","old_version":"0.9.6","new_version":"0.9.8","repository_url":"https://github.com/abcminiuser/python-elgato-streamdeck"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"testtools","old_version":"2.7.2","new_version":"2.8.2","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tifffile","old_version":"2023.7.10","new_version":"2026.1.14","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"trimesh","old_version":"4.10.1","new_version":"4.11.1","repository_url":"https://github.com/mikedh/trimesh"},{"name":"txaio","old_version":"23.1.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzlocal","old_version":"5.2","new_version":"5.3.1","repository_url":"https://github.com/regebro/tzlocal"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vtk","old_version":"9.3.1","new_version":"9.5.2"},{"name":"xarray","old_version":"2023.1.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.20.2","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":"/Data/Python/Constraints","ecosystem":"pip"},"body":"Bumps the all-deps group in /Data/Python/Constraints with 81 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.1` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `21.3.1` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.6.10` | `2.8.11` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `40` | `51` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.12` | `1.4.15` |\n| [configparser](https://github.com/jaraco/configparser) | `7.1.0` | `7.2.0` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.1.1` | `1.3.3` |\n| [cpylog](https://github.com/SteveDoyle2/cpylog) | `1.5.0` | `1.6.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.20.1` | `0.22.4` |\n| [ezdxf](https://github.com/mozman/ezdxf) | `1.1.4` | `1.4.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.57.0` | `4.61.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.3.0` | `2026.1.0` |\n| [geomdl](https://github.com/orbingol/NURBS-Python) | `5.3.1` | `5.4.0` |\n| [ijson](https://github.com/ICRAR/ijson) | `3.3.0` | `3.4.0.post0` |\n| [imageio](https://github.com/imageio/imageio) | `2.35.1` | `2.37.2` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.5.0` | `8.7.1` |\n| [importlib-resources](https://github.com/python/importlib_resources) | `6.4.5` | `6.5.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.4.9` |\n| [ladybug-comfort](https://github.com/ladybug-tools/ladybug-comfort) | `0.18.96` | `0.18.97` |\n| [ladybug-core](https://github.com/ladybug-tools/ladybug) | `0.44.29` | `0.44.30` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.41.1` | `0.46.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.1` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.0.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.10.8` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.1` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.58.1` | `0.63.1` |\n| [numpy](https://github.com/numpy/numpy) | `1.24.4` | `2.4.1` |\n| [openstudio](https://github.com/NREL/OpenStudio) | `3.10.0` | `3.11.0` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.0.3` | `3.0.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.4.0` | `12.1.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `4.2.0` | `7.6.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `6.33.4` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.1` |\n| [pycollada](https://github.com/pycollada/pycollada) | `0.9.2` | `0.9.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.13.3` | `1.19.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| [pyopenxr](https://github.com/cmbruns/pyopenxr) | `1.1.4601` | `1.1.5301` |\n| pyoptools | `0.2.1` | `0.3.7` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.1.4` | `3.3.2` |\n| [pypresence](https://github.com/qwertyquerty/pypresence) | `4.3.0` | `4.6.1` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.5.0` | `3.7.2` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.44.2` | `0.46.5` |\n| [pywavelets](https://github.com/PyWavelets/pywt) | `1.4.1` | `1.9.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.0` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.21.0` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.3.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.10.1` | `1.17.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.48.0` | `2.50.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8.3` |\n| [streamdeck](https://github.com/abcminiuser/python-elgato-streamdeck) | `0.9.6` | `0.9.8` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.7.2` | `2.8.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.6.0` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2023.7.10` | `2026.1.14` |\n| [trimesh](https://github.com/mikedh/trimesh) | `4.10.1` | `4.11.1` |\n| [txaio](https://github.com/crossbario/txaio) | `23.1.1` | `25.12.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.2` | `5.3.1` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.6.3` |\n| [vtk](https://vtk.org) | `9.3.1` | `9.5.2` |\n| [xarray](https://github.com/pydata/xarray) | `2023.1.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.20.2` | `3.23.0` |\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 21.3.1 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eDevelopment Build fork-68427734-oberstet_autobahn_python-strict_typing_test-202601141357\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: 1c7d45cd\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-14 14:02:37 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cp\u003eDownload the appropriate wheel for your platform:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install \u0026lt;downloaded-wheel-file\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eArtifact Inventory\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-cee77a0c-bblommers_autobahn_python-chore_apply_ruff_up-202601092138\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCommit\u003c/strong\u003e: b006e90e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBuild Date\u003c/strong\u003e: 2026-01-09 21:43:05 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Type\u003c/strong\u003e: development\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux wheels + pure Python fallbacks)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v21.3.1...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.6.10 to 2.8.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.11\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add behavior cls validation hook by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3710\"\u003escikit-hep/awkward#3710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a playground for cccl studies by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3734\"\u003escikit-hep/awkward#3734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add cuda.compute implementation to CCCL study by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: ability to optionally disable the caching of virtual arrays on themselves by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3741\"\u003escikit-hep/awkward#3741\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: string array numpy conversion fails with int32 offsets from parquet by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3697\"\u003escikit-hep/awkward#3697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only check length against empty form in \u003ccode\u003eak.from_buffers\u003c/code\u003e if it is known by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3714\"\u003escikit-hep/awkward#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typestr respects now limit_cols for .show and \u003cem\u003erepr_mimebundle\u003c/em\u003e by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3712\"\u003escikit-hep/awkward#3712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.__bool__ \u003c/code\u003e raises \u003ccode\u003eTypeError\u003c/code\u003e when builder length is 1 by \u003ca href=\"https://github.com/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent teardown from crashing GPU test suite by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3747\"\u003escikit-hep/awkward#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hide awkward.ak_* and awkward.str.akstr_* from 'awkward' and 'awkward.str' module by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3752\"\u003escikit-hep/awkward#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: align multi-level indices before merge in \u003ccode\u003eto_dataframe()\u003c/code\u003e by \u003ca href=\"https://github.com/TaiSakuma\"\u003e\u003ccode\u003e@​TaiSakuma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3733\"\u003escikit-hep/awkward#3733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: numba test failures on Python 3.14 by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3757\"\u003escikit-hep/awkward#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in \u003ccode\u003eto_IndexedOptionArray64\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3727\"\u003escikit-hep/awkward#3727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: weights should not be raised to the power n in the n-th moment calculation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3729\"\u003escikit-hep/awkward#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3728\"\u003escikit-hep/awkward#3728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; PlaceholderArrays by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3751\"\u003escikit-hep/awkward#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for \u003ccode\u003eaxis=None\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3765\"\u003escikit-hep/awkward#3765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: fix compilation on self-hosted CI and test with multiple versions of CUDA by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3704\"\u003escikit-hep/awkward#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update acknowledgements to include NumFOCUS affiliation by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3708\"\u003escikit-hep/awkward#3708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3709\"\u003escikit-hep/awkward#3709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: pytest log_level is better than log_cli_level by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3719\"\u003escikit-hep/awkward#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update requirements files for latest possible python versions by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3739\"\u003escikit-hep/awkward#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions 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/scikit-hep/awkward/pull/3744\"\u003escikit-hep/awkward#3744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3754\"\u003escikit-hep/awkward#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove CUDA 11 support by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3758\"\u003escikit-hep/awkward#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macos-15-intel for x86 wheel building and testing by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3720\"\u003escikit-hep/awkward#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add new versions to version selector by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3707\"\u003escikit-hep/awkward#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: 3.14 is supported by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3717\"\u003escikit-hep/awkward#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add T90REAL as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3742\"\u003escikit-hep/awkward#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add dependency and version change guidelines by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3745\"\u003escikit-hep/awkward#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add shwina as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3759\"\u003escikit-hep/awkward#3759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add an example summation reducer using cccl by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3762\"\u003escikit-hep/awkward#3762\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/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.10\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: preserve field order when replacing existing fields in with_field by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3681\"\u003escikit-hep/awkward#3681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add to_/from_safetensors by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3685\"\u003escikit-hep/awkward#3685\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/scikit-hep/awkward/commit/c4a2e57b47f6738670ffc0e4781a3990e7c3ff03\"\u003e\u003ccode\u003ec4a2e57\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/60072263c91fd8d5df48b487427319c5a10ae70d\"\u003e\u003ccode\u003e6007226\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0ad8b1e25b0bd493508bade8ab8d79a383a854a0\"\u003e\u003ccode\u003e0ad8b1e\u003c/code\u003e\u003c/a\u003e fix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for `axis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0941b378a8236a660990bd02d2c14e4d6593f28e\"\u003e\u003ccode\u003e0941b37\u003c/code\u003e\u003c/a\u003e fix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; Pla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/efea08c134963bc37c1013adc4ab320ebeb4d7a3\"\u003e\u003ccode\u003eefea08c\u003c/code\u003e\u003c/a\u003e chore(ci): use macos-15-intel for x86 wheel building and testing (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/87765b6adb379ba27b0f6b984607c250443b170c\"\u003e\u003ccode\u003e87765b6\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/306274c1fd6028ed549fa0f9a5e47a8bd76e693c\"\u003e\u003ccode\u003e306274c\u003c/code\u003e\u003c/a\u003e fix: weights should not be raised to the power n in the n-th moment calculati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/8872e1f4ffd781b07c2a661c235dc2d0a5f5bade\"\u003e\u003ccode\u003e8872e1f\u003c/code\u003e\u003c/a\u003e fix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in `to_IndexedOption...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1594a70bb0d39e174996275dd251305a13f83b2b\"\u003e\u003ccode\u003e1594a70\u003c/code\u003e\u003c/a\u003e fix: numba test failures on Python 3.14 (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/ca066ddc96dd690d52956535fc7422de71ed92e3\"\u003e\u003ccode\u003eca066dd\u003c/code\u003e\u003c/a\u003e feat: ability to optionally disable the caching of virtual arrays on themselv...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.6.10...v2.8.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 40 to 51\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\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/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\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/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.12 to 1.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eTYPE_E_ELEMENTNOTFOUND\u003c/code\u003e HRESULT constant value. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003eITypeInfo\u003c/code\u003e testing in \u003ccode\u003etest_typeinfo.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove type hints for for generated dispmethods and properties. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnhance tests for generated type hints. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove Internet Explorer dependency from \u003ccode\u003etest_QueryService.py\u003c/code\u003e and \u003ccode\u003etest_casesensitivity.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_ie.py\u003c/code\u003e to \u003ccode\u003etest_eventinterface.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSyntaxError\u003c/code\u003e in \u003ccode\u003eDispMethodAnnotator\u003c/code\u003e signature generation. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_msi.py\u003c/code\u003e to \u003ccode\u003etest_puredispatch.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003etest_wmi.py\u003c/code\u003e to \u003ccode\u003etest_variant_outparam.py\u003c/code\u003e. By \u003ca href=\"https://github.com/junk...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/Addons/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FAddons/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}},{"old_version":"1.14.1","new_version":"1.19.1","update_type":"minor","path":null,"pr_created_at":"2026-01-05T16:36:56.000Z","version_change":"1.14.1 → 1.19.1","issue":{"uuid":"3782132723","node_id":"PR_kwDOQHUFqc67kO2a","number":13,"state":"closed","title":"Bump the pip-updates group across 1 directory with 27 updates","user":"dependabot[bot]","labels":["skip-changelog"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T20:13:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T16:36:56.000Z","updated_at":"2026-01-12T20:13:35.000Z","time_to_close":617798,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-updates","update_count":27,"packages":[{"name":"pycairo","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/pygobject/pycairo"},{"name":"pygobject","old_version":"3.48.1","new_version":"3.54.5"},{"name":"gaphas","old_version":"4.0.0","new_version":"5.1.2","repository_url":"https://github.com/gaphor/gaphas"},{"name":"generic","old_version":"1.1.2","new_version":"1.1.6","repository_url":"https://github.com/gaphor/generic"},{"name":"tinycss2","old_version":"1.2.1","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"babel","old_version":"2.14.0","new_version":"2.17.0","repository_url":"https://github.com/python-babel/babel"},{"name":"jedi","old_version":"0.19.1","new_version":"0.19.2","repository_url":"https://github.com/davidhalter/jedi"},{"name":"pydot","old_version":"2.0.0","new_version":"4.0.1","repository_url":"https://github.com/pydot/pydot"},{"name":"pillow","old_version":"10.2.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pygit2","old_version":"1.14.1","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyobjc-framework-cocoa","old_version":"10.1","new_version":"12.1","repository_url":"https://github.com/ronaldoussoren/pyobjc"},{"name":"pytest","old_version":"8.1.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-randomly","old_version":"3.15.0","new_version":"4.0.1","repository_url":"https://github.com/pytest-dev/pytest-randomly"},{"name":"xdoctest","old_version":"1.1.3","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"hypothesis","old_version":"6.99.4","new_version":"6.149.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ipython","old_version":"8.22.2","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"sphinx","old_version":"7.2.6","new_version":"8.2.3","repository_url":"https://github.com/sphinx-doc/sphinx"},{"name":"pre-commit","old_version":"3.6.2","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"poethepoet","old_version":"0.25.0","new_version":"0.39.0","repository_url":"https://github.com/nat-n/poethepoet"},{"name":"sphinx-intl","old_version":"2.1.0","new_version":"2.3.2","repository_url":"https://github.com/sphinx-doc/sphinx-intl"},{"name":"myst-nb","old_version":"1.0.0","new_version":"1.3.0","repository_url":"https://github.com/executablebooks/myst-nb"},{"name":"pyinstaller","old_version":"6.5.0","new_version":"6.17.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-versionfile","old_version":"2.1.1","new_version":"3.0.1","repository_url":"https://github.com/DudeNr33/pyinstaller-versionfile"},{"name":"semver","old_version":"3.0.2","new_version":"3.0.4","repository_url":"https://github.com/python-semver/python-semver"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-updates group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pycairo](https://github.com/pygobject/pycairo) | `1.26.0` | `1.29.0` |\n| [pygobject](https://pygobject.gnome.org) | `3.48.1` | `3.54.5` |\n| [gaphas](https://github.com/gaphor/gaphas) | `4.0.0` | `5.1.2` |\n| [generic](https://github.com/gaphor/generic) | `1.1.2` | `1.1.6` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.2.1` | `1.5.1` |\n| [babel](https://github.com/python-babel/babel) | `2.14.0` | `2.17.0` |\n| [jedi](https://github.com/davidhalter/jedi) | `0.19.1` | `0.19.2` |\n| [pydot](https://github.com/pydot/pydot) | `2.0.0` | `4.0.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.2.0` | `12.1.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.14.1` | `1.19.1` |\n| [pyobjc-framework-cocoa](https://github.com/ronaldoussoren/pyobjc) | `10.1` | `12.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.1.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) | `3.15.0` | `4.0.1` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.1.3` | `1.3.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.99.4` | `6.149.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.22.2` | `9.9.0` |\n| [sphinx](https://github.com/sphinx-doc/sphinx) | `7.2.6` | `8.2.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `3.6.2` | `4.5.1` |\n| [poethepoet](https://github.com/nat-n/poethepoet) | `0.25.0` | `0.39.0` |\n| [sphinx-intl](https://github.com/sphinx-doc/sphinx-intl) | `2.1.0` | `2.3.2` |\n| [myst-nb](https://github.com/executablebooks/myst-nb) | `1.0.0` | `1.3.0` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.5.0` | `6.17.0` |\n| [pyinstaller-versionfile](https://github.com/DudeNr33/pyinstaller-versionfile) | `2.1.1` | `3.0.1` |\n| [semver](https://github.com/python-semver/python-semver) | `3.0.2` | `3.0.4` |\n\n\nUpdates `pycairo` from 1.26.0 to 1.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygobject/pycairo/releases\"\u003epycairo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.29.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-29-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-29-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-28-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-28-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-27-0\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-27-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.26.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pycairo.readthedocs.io/en/latest/changelog.html#v1-26-1\"\u003ehttps://pycairo.readthedocs.io/en/latest/changelog.html#v1-26-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/pygobject/pycairo/blob/main/NEWS\"\u003epycairo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.29.0 - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e:meth:\u003ccode\u003eImageSurface.get_data\u003c/code\u003e: Return empty memoryview for empty image :pr:\u003ccode\u003e418\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e: support empty images :pr:\u003ccode\u003e419\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 :pr:\u003ccode\u003e428\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for PyPy 3.10\u003c/li\u003e\n\u003cli\u003eSupport multi-phase init :pr:\u003ccode\u003e413\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eExperimental support for free-threaded Python :pr:\u003ccode\u003e430\u003c/code\u003e :pr:\u003ccode\u003e429\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (libpng, pixman) for the Windows wheels :pr:\u003ccode\u003e431\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild: add \u0026quot;no-x11\u0026quot; option to disable X11 surface support :pr:\u003ccode\u003e432\u003c/code\u003e :issue:\u003ccode\u003e420\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edev: support uv for development :pr:\u003ccode\u003e433\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v1.28.0:\u003c/p\u003e\n\u003ch2\u003e1.28.0 - 2025-04-14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanges:\n\u003cul\u003e\n\u003cli\u003eRemove hypothesis test dependency :pr:\u003ccode\u003e398\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated cairo in Windows wheels from 1.18.2 to 1.18.4 :pr:\u003ccode\u003e393\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide arm64 Windows wheels again\u003c/li\u003e\n\u003cli\u003eRelease the input buffer passed to :meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e\nwhen calling :meth:\u003ccode\u003eSurface.finish\u003c/code\u003e already, not just when the underlying\nsurface is destroyed :pr:\u003ccode\u003e405\u003c/code\u003e :issue:\u003ccode\u003e392\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReturn a :class:\u003ccode\u003ePathDataType\u003c/code\u003e (:class:\u003ccode\u003eint\u003c/code\u003e subtype) instead of\n:class:\u003ccode\u003eint\u003c/code\u003e with :meth:\u003ccode\u003ePath.__iter__\u003c/code\u003e :pr:\u003ccode\u003e410\u003c/code\u003e. This was missed in the\n1.13.0 enum change.\u003c/li\u003e\n\u003cli\u003eEmit a :class:\u003ccode\u003eDeprecationWarning\u003c/code\u003e in case :meth:\u003ccode\u003eImageSurface.get_data\u003c/code\u003e\nis called on an already finished surface :pr:\u003ccode\u003e400\u003c/code\u003e :pr:\u003ccode\u003e412\u003c/code\u003e. In a future\nversion this will raise an exception instead.\u003c/li\u003e\n\u003cli\u003eEmit a :class:\u003ccode\u003eDeprecationWarning\u003c/code\u003e for the undocumented \u003ccode\u003enum_glyphs\u003c/code\u003e\nparameter in :meth:\u003ccode\u003eContext.glyph_extents\u003c/code\u003e, :meth:\u003ccode\u003eContext.glyph_path\u003c/code\u003e,\n:meth:\u003ccode\u003eContext.show_glyphs\u003c/code\u003e, :meth:\u003ccode\u003eScaledFont.glyph_extents\u003c/code\u003e :pr:\u003ccode\u003e409\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixes:\n\u003cul\u003e\n\u003cli\u003eRemove the executable bit from \u003ccode\u003ecairo/__init__.py\u003c/code\u003e :pr:\u003ccode\u003e383\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove usage of removed \u003ccode\u003etyping.ByteString\u003c/code\u003e to fix compatibility with\nPython 3.14.0a1 :pr:\u003ccode\u003e389\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix pygame integration example using the wrong format :pr:\u003ccode\u003e411\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTyping fixes (no API changes, just type annotations):\n\u003cul\u003e\n\u003cli\u003eInclude :class:\u003ccode\u003eos.PathLike\u003c/code\u003e for parameters accepting file paths :pr:\u003ccode\u003e401\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFor :meth:\u003ccode\u003eImageSurface.create_for_data\u003c/code\u003e include all writable buffer types\nand not just :class:\u003ccode\u003ememoryview\u003c/code\u003e :pr:\u003ccode\u003e402\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eOptional\u003c/code\u003e for :meth:\u003ccode\u003eSurface.set_mime_data\u003c/code\u003e,\n:meth:\u003ccode\u003eSVGSurface.__init__\u003c/code\u003e :meth:\u003ccode\u003ePDFSurface.__init__\u003c/code\u003e,\n:meth:\u003ccode\u003ePSSurface.__init__\u003c/code\u003e, :meth:\u003ccode\u003eRecordingSurface.__init__\u003c/code\u003e :pr:\u003ccode\u003e404\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd various missing :class:\u003ccode\u003ePath\u003c/code\u003e dunder methods like \u003ccode\u003e__iter__\u003c/code\u003e,\n\u003ccode\u003e__eq__\u003c/code\u003e, \u003ccode\u003e__lt__\u003c/code\u003e, etc. :pr:\u003ccode\u003e408\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003e__getitem__\u003c/code\u003e and \u003ccode\u003e__mul__\u003c/code\u003e for :class:\u003ccode\u003eMatrix\u003c/code\u003e :pr:\u003ccode\u003e408\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/f2c40870be2d5e9d15ecee339e1d5e30d82c7959\"\u003e\u003ccode\u003ef2c4087\u003c/code\u003e\u003c/a\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/af6cde4bd38636f2c44f1927c84562d47b5d1c80\"\u003e\u003ccode\u003eaf6cde4\u003c/code\u003e\u003c/a\u003e Update mypy/pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/06837cac265bdcad76d56ba2aadbe8e335fd01d8\"\u003e\u003ccode\u003e06837ca\u003c/code\u003e\u003c/a\u003e docs: add something for uv as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/315fa252c45c12483edc7ecc166e20eb0d6859f9\"\u003e\u003ccode\u003e315fa25\u003c/code\u003e\u003c/a\u003e CI: use uv where possible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/d08b1c202a9f7832841c2e38ebfba398b0909c6e\"\u003e\u003ccode\u003ed08b1c2\u003c/code\u003e\u003c/a\u003e build: add no-x11 option to disable X11 surface support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/7ac832eb4e7e9b90cff6fa8a48366e0d010bdb85\"\u003e\u003ccode\u003e7ac832e\u003c/code\u003e\u003c/a\u003e Update cairo wheel deps to 1.18.4-v2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/67211fec92b7ae698d75ca3bb2b0c9342a80214c\"\u003e\u003ccode\u003e67211fe\u003c/code\u003e\u003c/a\u003e CI: build docs with 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/d086cba438e23280d7f248b1b680d384ebe33e5c\"\u003e\u003ccode\u003ed086cba\u003c/code\u003e\u003c/a\u003e CI: enable 314t tests + wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/51568ce292d5ed71f53611fd599cf7f054fed53a\"\u003e\u003ccode\u003e51568ce\u003c/code\u003e\u003c/a\u003e CI: Update all actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygobject/pycairo/commit/2d53a8ec69c0f9bb0ff0828d422afa832852e798\"\u003e\u003ccode\u003e2d53a8e\u003c/code\u003e\u003c/a\u003e Set Py_MOD_GIL_NOT_USED\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pygobject/pycairo/compare/v1.26.0...v1.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygobject` from 3.48.1 to 3.54.5\n\nUpdates `gaphas` from 4.0.0 to 5.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gaphor/gaphas/releases\"\u003egaphas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.1.2 - Maintenance\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CodeQL job to also scan github actions \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not raise KeyError for removal of unknown items \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eREADME: Update development environment packages \u003ca href=\"https://github.com/cjmayo\"\u003e\u003ccode\u003e@​cjmayo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coverage and maintainability report \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/931\"\u003e#931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace pr-labeler-action with actions/labeler \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/904\"\u003e#904\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cjmayo\"\u003e\u003ccode\u003e@​cjmayo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.1.1 - Fix regression\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix gaphor pip installs \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.1.0 - Custom item and handle finder\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCustom item and handle finder \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten security again \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eRelease 5.0.3\u003c/h2\u003e\n\u003cp\u003eMake the release process work again.\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.2 - Fix the release process\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSomething changed in the PyPI release process \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.1 - Fix moving items\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix macOS drag \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/887\"\u003e#887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Poetry to 2.1.1, enable end-of-file-fixer \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/878\"\u003e#878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCI updates for egress and update runners \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock egress to unknown endpoints in CI, update dependencies \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Poetry to version 2.0.0 \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/869\"\u003e#869\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 5.0.0 - The era of async/await\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/gaphor/gaphas/commit/473b1951e073185bcdca58ceb49e5d2c132442ca\"\u003e\u003ccode\u003e473b195\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/975\"\u003e#975\u003c/a\u003e from gaphor/codeql-for-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/72d5712bde9d6c589ecff902e8ee1e9050f60201\"\u003e\u003ccode\u003e72d5712\u003c/code\u003e\u003c/a\u003e Bump version to 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/1a44bfac0993dfa1ec47d8a6268b7b5268d2059d\"\u003e\u003ccode\u003e1a44bfa\u003c/code\u003e\u003c/a\u003e Build with Python 3.14, drop Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/f0750399a55e45721780a03e4ad9629c8330d2f3\"\u003e\u003ccode\u003ef075039\u003c/code\u003e\u003c/a\u003e Update CodeQL job to also scan github actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/ff061568c05049c30f6666416ae01c8796ab8d8c\"\u003e\u003ccode\u003eff06156\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/974\"\u003e#974\u003c/a\u003e from gaphor/lenient-quadtree-remove\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/8bd70827b707f99ccece004e59c395ae20289b86\"\u003e\u003ccode\u003e8bd7082\u003c/code\u003e\u003c/a\u003e Do not raise KeyError for removal of unknown items\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/23fda728bd70e692be6c77c93f69859978c379b6\"\u003e\u003ccode\u003e23fda72\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/016b2c52b1b8f3ea7154f3e8ce396c94e9bdd8f3\"\u003e\u003ccode\u003e016b2c5\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in the pip-updates group (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/3ddf8e6639f2e6b69b89a37db64041049e05690a\"\u003e\u003ccode\u003e3ddf8e6\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action in the github-action-updates group (\u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/gaphas/commit/0df80d5b928b8d94ab191258feb9b4c4222f2dd8\"\u003e\u003ccode\u003e0df80d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gaphor/gaphas/issues/970\"\u003e#970\u003c/a\u003e from gaphor/pre-commit-update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gaphor/gaphas/compare/4.0.0...5.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `generic` from 1.1.2 to 1.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gaphor/generic/releases\"\u003egeneric's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.6 - Maintenance\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CodeQL analysis for GitHub Actions \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCode improvements \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/631\"\u003e#631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpload coverage report \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactoring and changes update \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003eVersion 1.1.5 - Super types\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression where super-types are not looked up \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix RtD build \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.1.4 - Dependency updates\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump version to 1.1.4 \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Poetry to 2.1.1, enable end-of-file-fixer pre-commit hook \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the readthedocs runner and Python version \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix build with recent sphinx \u003ca href=\"https://github.com/City-busz\"\u003e\u003ccode\u003e@​City-busz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix pre-commit CI updates \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Poetry to version 2.0.1 \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock egress in CI and update dependencies \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/City-busz\"\u003e\u003ccode\u003e@​City-busz\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/amolenaar\"\u003e\u003ccode\u003e@​amolenaar\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/danyeaw\"\u003e\u003ccode\u003e@​danyeaw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/gaphor-updater\"\u003e\u003ccode\u003e@​gaphor-updater\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e and \u003ca href=\"https://github.com/apps/gaphor-updater\"\u003egaphor-updater[bot]\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/gaphor/generic/commit/2ff1b8bf23ae688089badde2f365f0fff48645e6\"\u003e\u003ccode\u003e2ff1b8b\u003c/code\u003e\u003c/a\u003e Add CodeQL analysis for GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/dd7da2733899995f7a35b8f5728d17805881c782\"\u003e\u003ccode\u003edd7da27\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/3189efe6313a85256b654acb714802812d98221a\"\u003e\u003ccode\u003e3189efe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action in the github-action-updates group (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/c4a3e15ad7315d978c47e3f5c8b61eae7db5e36e\"\u003e\u003ccode\u003ec4a3e15\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in the pip-updates group (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/2915fa2bcc2967143040fd5dfc39f6ad0c2c0b24\"\u003e\u003ccode\u003e2915fa2\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/f11853527fbe1f67b3e869773e6550812a1472b8\"\u003e\u003ccode\u003ef118535\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/649\"\u003e#649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/03ae163faf0b3db9e425e37ed18814d3e6806e27\"\u003e\u003ccode\u003e03ae163\u003c/code\u003e\u003c/a\u003e Bump the github-action-updates group with 5 updates (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/b3e696e52a1ab34bd05d21f2bcede67c04b63095\"\u003e\u003ccode\u003eb3e696e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/645\"\u003e#645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/99033e8ebdf0666c262d413408dfab5b549f348f\"\u003e\u003ccode\u003e99033e8\u003c/code\u003e\u003c/a\u003e Bump the github-action-updates group across 1 directory with 6 updates (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaphor/generic/commit/60bb6649a291dc2a753a7f68223ca11aabe104f7\"\u003e\u003ccode\u003e60bb664\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.5.0 to 2.6.0 (\u003ca href=\"https://redirect.github.com/gaphor/generic/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gaphor/generic/compare/1.1.2...1.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tinycss2` from 1.2.1 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/tinycss2/releases\"\u003etinycss2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude parsing tests in source tarball\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport most of CSS Color Level 5\u003c/li\u003e\n\u003cli\u003eFix tokenizer crash on escaped Dimension units and Function names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS Color Level 4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS nesting\u003c/li\u003e\n\u003cli\u003eDeprecate parse_declaration_list, use parse_blocks_contents instead\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/Kozea/tinycss2/blob/main/docs/changelog.rst\"\u003etinycss2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-23.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInclude parsing tests in source tarball\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-19.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport most of CSS Color Level 5\u003c/li\u003e\n\u003cli\u003eFix tokenizer crash on escaped Dimension units and Function names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2024-10-24.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS Color Level 4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.3.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2024-04-23.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport CSS nesting\u003c/li\u003e\n\u003cli\u003eDeprecate parse_declaration_list, use parse_blocks_contents instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/f295a49711a4d348664bba7fb34113b3b4b78cb2\"\u003e\u003ccode\u003ef295a49\u003c/code\u003e\u003c/a\u003e Version 1.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/282de7e6e835c21f05dfee15841b0dbf3d904c61\"\u003e\u003ccode\u003e282de7e\u003c/code\u003e\u003c/a\u003e Version 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/a4a03f1a13f7687970a52777ead171e2d2c55fed\"\u003e\u003ccode\u003ea4a03f1\u003c/code\u003e\u003c/a\u003e Add release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/c59b3941480342d18c28bb7259b161a0726a0d06\"\u003e\u003ccode\u003ec59b394\u003c/code\u003e\u003c/a\u003e Add documentation for color modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/36b3f6a47e2e36ab8a8169cced00c131a267a181\"\u003e\u003ccode\u003e36b3f6a\u003c/code\u003e\u003c/a\u003e Update supported and tested Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/5e6026fd3a0a5c8d594f9fdf0fa1ce348293ea2d\"\u003e\u003ccode\u003e5e6026f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Kozea/tinycss2/issues/64\"\u003e#64\u003c/a\u003e from Kozea/css-color5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/725d2b5efc49b2b8c5627583769b5bbd16b3c780\"\u003e\u003ccode\u003e725d2b5\u003c/code\u003e\u003c/a\u003e Simplify test_color_functions_5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/c3f7a926e369a0b4f1979921549419b4c434bbc9\"\u003e\u003ccode\u003ec3f7a92\u003c/code\u003e\u003c/a\u003e Readd removed tests (oopsi)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/1e47dd105e135537b7196f5f7f5d68ae6b4d062f\"\u003e\u003ccode\u003e1e47dd1\u003c/code\u003e\u003c/a\u003e Manage None color in _build_color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/tinycss2/commit/4247cb73ced9513358f61b03aa5d4040a5e2d3b8\"\u003e\u003ccode\u003e4247cb7\u003c/code\u003e\u003c/a\u003e Remove unused variables\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kozea/tinycss2/compare/v1.2.1...v1.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.14.0 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-babel/babel/releases\"\u003ebabel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.17.0\u003c/h2\u003e\n\u003cp\u003eHappy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium. 🇧🇪\u003c/p\u003e\n\u003cp\u003eThank you to all contributors, new and old, and here's to another great year of internationalization and localization!\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eThe changelog below is auto-generated by GitHub.\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/b50a1d2186c20f3359f7e10853d2b2225a46ed40/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for additional details.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix deprecation warnings for \u003ccode\u003edatetime.utcnow()\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1119\"\u003epython-babel/babel#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose white spaces in references by \u003ca href=\"https://github.com/Dunedan\"\u003e\u003ccode\u003e@​Dunedan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1105\"\u003epython-babel/babel#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003estr.index\u003c/code\u003e with \u003ccode\u003estr.find\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1130\"\u003epython-babel/babel#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace more alternate characters in \u003ccode\u003eformat_skeleton\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1122\"\u003epython-babel/babel#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extracted lineno with nested calls by \u003ca href=\"https://github.com/dylankiss\"\u003e\u003ccode\u003e@​dylankiss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1126\"\u003epython-babel/babel#1126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;Deleted duplicate code in test\u0026quot; by \u003ca href=\"https://github.com/mattdiaz007\"\u003e\u003ccode\u003e@​mattdiaz007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1138\"\u003epython-babel/babel#1138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix of list index out of range error in PoFileParser.add_message when translations is empty by \u003ca href=\"https://github.com/gabe-sherman\"\u003e\u003ccode\u003e@​gabe-sherman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1135\"\u003epython-babel/babel#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake seconds optional in \u003ccode\u003eparse_time\u003c/code\u003e time formats by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1141\"\u003epython-babel/babel#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003ewraptext\u003c/code\u003e deprecated; use \u003ccode\u003eTextWrapper\u003c/code\u003e directly in \u003ccode\u003ewrite_po\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1140\"\u003epython-babel/babel#1140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the way obsolete messages are stored by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1132\"\u003epython-babel/babel#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eOrderedDict\u003c/code\u003e with just \u003ccode\u003edict\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1149\"\u003epython-babel/babel#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse CLDR 46 by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1145\"\u003epython-babel/babel#1145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use python 3.13 and Ubuntu 24.04 by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1153\"\u003epython-babel/babel#1153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust docs/conf.py to add compatibility with sphinx 8 by \u003ca href=\"https://github.com/hrnciar\"\u003e\u003ccode\u003e@​hrnciar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1155\"\u003epython-babel/babel#1155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow specifying an explicit format in parse_date/parse_time by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1131\"\u003epython-babel/babel#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003eread_mo\u003c/code\u003e logic regarding \u003ccode\u003ecatalog.charset\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1148\"\u003epython-babel/babel#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI/tool versions by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1160\"\u003epython-babel/babel#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check_and_call_extract_file uses the first matching method and options, instead of the first matching method and last matching options by \u003ca href=\"https://github.com/jpmckinney\"\u003e\u003ccode\u003e@​jpmckinney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1121\"\u003epython-babel/babel#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent wrapping file locations containing white space by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1120\"\u003epython-babel/babel#1120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tzdata as dev dependency and sync with tox.ini by \u003ca href=\"https://github.com/wandrew004\"\u003e\u003ccode\u003e@​wandrew004\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1159\"\u003epython-babel/babel#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport short and narrow formats for format_timedelta when using \u003ccode\u003eadd_direction\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1163\"\u003epython-babel/babel#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove handling for \u003ccode\u003elocale=None\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1164\"\u003epython-babel/babel#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003epytest.raises(match=...)\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1166\"\u003epython-babel/babel#1166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip extra leading slashes in \u003ccode\u003e/etc/localtime\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1165\"\u003epython-babel/babel#1165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove redundant assignment in \u003ccode\u003eCatalog.__setitem__\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1167\"\u003epython-babel/babel#1167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanups by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1170\"\u003epython-babel/babel#1170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall test cleanup by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1172\"\u003epython-babel/babel#1172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eMessage.python_brace_format\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1169\"\u003epython-babel/babel#1169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImport \u003ccode\u003eLiteral\u003c/code\u003e from the typing module by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1175\"\u003epython-babel/babel#1175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer LC_MONETARY when formatting currencies by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1173\"\u003epython-babel/babel#1173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix dates formatting \u003ccode\u003eY\u003c/code\u003e, \u003ccode\u003ew\u003c/code\u003e and \u003ccode\u003eW\u003c/code\u003e symbols for week-numbering by \u003ca href=\"https://github.com/jun66j5\"\u003e\u003ccode\u003e@​jun66j5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1179\"\u003epython-babel/babel#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage of the \u003ccode\u003epython_format\u003c/code\u003e checker by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1176\"\u003epython-babel/babel#1176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for 2.17.0 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1182\"\u003epython-babel/babel#1182\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/Dunedan\"\u003e\u003ccode\u003e@​Dunedan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-babel/babel/pull/1105\"\u003epython-babel/babel#1105\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/python-babel/babel/blob/master/CHANGES.rst\"\u003ebabel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.17.0\u003c/h2\u003e\n\u003cp\u003eHappy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium.\u003c/p\u003e\n\u003cp\u003eThank you to all contributors, new and old,\nand here's to another great year of internationalization and localization!\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* CLDR: Babel now uses CLDR 46, by @tomasr8 in :gh:`1145`\n* Dates: Allow specifying an explicit format in parse_date/parse_time by @tomasr8 in :gh:`1131`\n* Dates: More alternate characters are now supported by `format_skeleton`. By @tomasr8 in :gh:`1122`\n* Dates: Support short and narrow formats for format_timedelta when using `add_direction`, by @akx in :gh:`1163`\n* Messages: .po files now enclose white spaces in filenames like GNU gettext does. By @Dunedan in :gh:`1105`, and @tomasr8 in :gh:`1120`\n* Messages: Initial support for `Message.python_brace_format`, by @tomasr8 in :gh:`1169`\n* Numbers: LC_MONETARY is now preferred when formatting currencies, by @akx in :gh:`1173`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDates: Make seconds optional in \u003ccode\u003eparse_time\u003c/code\u003e time formats by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1141\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Replace \u003ccode\u003estr.index\u003c/code\u003e with \u003ccode\u003estr.find\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1130\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Strip extra leading slashes in \u003ccode\u003e/etc/localtime\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1165\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDates: Week numbering and formatting of dates with week numbers was repaired by \u003ca href=\"https://github.com/jun66j5\"\u003e\u003ccode\u003e@​jun66j5\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1179\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Improve handling for \u003ccode\u003elocale=None\u003c/code\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1164\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Remove redundant assignment in \u003ccode\u003eCatalog.__setitem__\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1167\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix extracted lineno with nested calls, by \u003ca href=\"https://github.com/dylankiss\"\u003e\u003ccode\u003e@​dylankiss\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1126\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix of list index out of range when translations is empty, by \u003ca href=\"https://github.com/gabe-sherman\"\u003e\u003ccode\u003e@​gabe-sherman\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1135\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Fix the way obsolete messages are stored by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1132\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Simplify \u003ccode\u003eread_mo\u003c/code\u003e logic regarding \u003ccode\u003ecatalog.charset\u003c/code\u003e by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1148\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Use the first matching method \u0026amp; options, rather than first matching method \u0026amp; last options, by \u003ca href=\"https://github.com/jpmckinney\"\u003e\u003ccode\u003e@​jpmckinney\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1121\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecation and compatibility\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Dates: Fix deprecation warnings for `datetime.utcnow()` by @tomasr8 in :gh:`1119`\n* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by @hrnciar in :gh:`1155`\n* General: Import `Literal` from the typing module by @tomasr8 in :gh:`1175`\n* General: Replace `OrderedDict` with just `dict` by @tomasr8 in :gh:`1149`\n* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in `write_po` by @akx in :gh:`1140`\n\u003cp\u003eInfrastructure\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add tzdata as dev dependency and sync with tox.ini by @wandrew004 in :gh:`1159`\n* Duplicate test code was deleted by @mattdiaz007 in :gh:`1138`\n* Increase test coverage of the `python_format` checker by @tomasr8 in :gh:`1176`\n* Small cleanups by @akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and :gh:`1172`\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/b50a1d2186c20f3359f7e10853d2b2225a46ed40\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b50a1d2\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Prepare for 2.17.0 (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1182\u0026quot;\u0026gt;#1182\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/5f117b2689573aa98acc8a47108c49b99f4d1394\u0026quot;\u0026gt;\u0026lt;code\u0026gt;5f117b2\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Increase test coverage of the \u0026lt;code\u0026gt;python_format\u0026lt;/code\u0026gt; checker (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1176\u0026quot;\u0026gt;#1176\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/363ad7531fb5dcdc3e9844573592b0b44afb914b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;363ad75\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix dates formatting \u0026lt;code\u0026gt;Y\u0026lt;/code\u0026gt;, \u0026lt;code\u0026gt;w\u0026lt;/code\u0026gt; and \u0026lt;code\u0026gt;W\u0026lt;/code\u0026gt; symbols for week-numbering (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1179\u0026quot;\u0026gt;#1179\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/e9c3ef8d0de3080ca59f7f8dbabf9b52983adc7d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e9c3ef8\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Merge pull request \u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1173\u0026quot;\u0026gt;#1173\u0026lt;/a\u0026gt; from python-babel/lc-monetary-2\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/56ef7c7f578a904917464c187e399abb762bd5e3\u0026quot;\u0026gt;\u0026lt;code\u0026gt;56ef7c7\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Prefer LC_MONETARY when formatting currency\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/aee6d698b541dc50439280d7e093092cc0d4b832\u0026quot;\u0026gt;\u0026lt;code\u0026gt;aee6d69\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;code\u0026gt;default_locale\u0026lt;/code\u0026gt;: support multiple keys\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/2d8a808864d1aae5d3d02d4f95917c79740c5d35\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2d8a808\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Import \u0026lt;code\u0026gt;Literal\u0026lt;/code\u0026gt; \u0026amp;amp; \u0026lt;code\u0026gt;TypedDict\u0026lt;/code\u0026gt; from the typing module (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1175\u0026quot;\u0026gt;#1175\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/98b9562c05e5276038c27ec12c12f3e92dc027b6\u0026quot;\u0026gt;\u0026lt;code\u0026gt;98b9562\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Add basic support for \u0026lt;code\u0026gt;Message.python_brace_format\u0026lt;/code\u0026gt; (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1169\u0026quot;\u0026gt;#1169\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/0c1091c9de9543e30bc4b845eb10b5bf84516d7b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;0c1091c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Small test cleanup (\u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1172\u0026quot;\u0026gt;#1172\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/commit/db4879136a7fbcef475f26b75dbdd65d0ce488f9\u0026quot;\u0026gt;\u0026lt;code\u0026gt;db48791\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Merge pull request \u0026lt;a href=\u0026quot;https://redirect.github.com/python-babel/babel/issues/1170\u0026quot;\u0026gt;#1170\u0026lt;/a\u0026gt; from python-babel/small-cleanup\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/python-babel/babel/compare/v2.14.0...v2.17.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `jedi` from 0.19.1 to 0.19.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/davidhalter/jedi/blob/master/CHANGELOG.rst\"\u003ejedi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.19.2 (2024-11-10)\n+++++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.13 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/41e9e957e7fce02e63a41af66c9c891e33411569\"\u003e\u003ccode\u003e41e9e95\u003c/code\u003e\u003c/a\u003e Increase Jedi version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/b225678a4240039ce281b989ba2276fb4d137672\"\u003e\u003ccode\u003eb225678\u003c/code\u003e\u003c/a\u003e Add a release for Python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/30adf43a8929ade8a9e0abee6921a5043c962215\"\u003e\u003ccode\u003e30adf43\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2027\"\u003e#2027\u003c/a\u003e from WutingjiaX/feat/filterImported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/be6df6243419d2ca9639aa55678e1a81eebfe1fa\"\u003e\u003ccode\u003ebe6df62\u003c/code\u003e\u003c/a\u003e filter imported names during completion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/e53359ad88a5aac62a7b0e1b6aa12364c1f00861\"\u003e\u003ccode\u003ee53359a\u003c/code\u003e\u003c/a\u003e Fix a test that had issues with a minor upgrade of Python 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/6e5d5b779cd4e4bcaece49982926607941d71b17\"\u003e\u003ccode\u003e6e5d5b7\u003c/code\u003e\u003c/a\u003e Enable workflow_dispatch in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/91ffdead3291263a356a66e40c7e82cfa431107f\"\u003e\u003ccode\u003e91ffdea\u003c/code\u003e\u003c/a\u003e Sort completions by input resemblance. (\u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/2859e4f409fad690f61f6cb90073f8cd7e81cf22\"\u003e\u003ccode\u003e2859e4f\u003c/code\u003e\u003c/a\u003e Support inferring not expr to bool (\u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2016\"\u003e#2016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/8ee4c26ae4ad93dfc2dad0aca540d670cdba59f0\"\u003e\u003ccode\u003e8ee4c26\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/davidhalter/jedi/issues/2014\"\u003e#2014\u003c/a\u003e from WutingjiaX/feat/in_operator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidhalter/jedi/commit/4d09ac07e41a129470bbaf2de7fb63cb1117661e\"\u003e\u003ccode\u003e4d09ac0\u003c/code\u003e\u003c/a\u003e When inferring comparison operators, return a definite type instead of NO_VAL...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/davidhalter/jedi/compare/v0.19.1...v0.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydot` from 2.0.0 to 4.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydot/pydot/blob/main/ChangeLog\"\u003epydot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.1 (2025-06-17)\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated pyparsing to \u003ccode\u003e\u0026gt;=3.1.0\u003c/code\u003e. Required for pydot to function correctly. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParser: Fixed 'strict' handling. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/480\"\u003e#480\u003c/a\u003e)\nThe parser wasn't capturing the 'strict' keyword when parsing dot data. Now it does.\u003c/li\u003e\n\u003cli\u003eParser: Support backslash continuation in quoted IDs. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParser: Support +-concatenated quoted strings. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0 (2025-05-04)\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded initial type annotations. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/430\"\u003e#430\u003c/a\u003e)\nThere are still a lot of \u003ccode\u003eAny\u003c/code\u003es, but Pydot now officially supports type annotations.\u003c/li\u003e\n\u003cli\u003eAdded (fixed) complex edge parsing. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/467\"\u003e#467\u003c/a\u003e)\nThe parser now supports edges that contain subgraph endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify \u003ccode\u003eCommon.get_top_graph_type\u003c/code\u003e with a default. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine parser elements in a separate \u003ccode\u003eGraphParser\u003c/code\u003e class. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/464\"\u003e#464\u003c/a\u003e)\nIt's a user-transparent change, but now it's easier to debug, test, and modify the parser.\nSee the related Pull Request for more information.\u003c/li\u003e\n\u003cli\u003eImprove return values and typing of setters and getters. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/470\"\u003e#470\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid subprocess window creation within \u003ccode\u003ecall_graphviz\u003c/code\u003e on Windows. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/431\"\u003e#431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved a blank line inserted after subgraphs in the \u003ccode\u003eto_string()\u003c/code\u003e output. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the issue where the parser breaks off lines at hash symbol following a HTML tag (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved old, unused \u003ccode\u003eCommon.__get_attribute__\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.4 (2025-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed capitalized keywords in labels being unquoted. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/449\"\u003e#449\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydot/pydot/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed numeric quoting behavior. (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.2 (2024-09-25)\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/pydot/pydot/commit/b60b6687565423540839f5d440ba90d2f8271303\"\u003e\u003ccode\u003eb60b668\u003c/code\u003e\u003c/a\u003e Preparing release 4.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/910b19137fb34743cfb84e6e7b92ce6a21465c1d\"\u003e\u003ccode\u003e910b191\u003c/code\u003e\u003c/a\u003e Prepare changelog for 4.0.1 (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/f18cbcb06ec192e80dabc1ed7603e496e4c3b46f\"\u003e\u003ccode\u003ef18cbcb\u003c/code\u003e\u003c/a\u003e Parser: Support +-concatenated quoted strings (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/015c0dc9dc50a7acb7a992fe433169d9a0264db6\"\u003e\u003ccode\u003e015c0dc\u003c/code\u003e\u003c/a\u003e Parser: Support backslash continuation in quoted IDs (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/8f5e9bdf102c57e61d6bf435abf4efb941ca18e4\"\u003e\u003ccode\u003e8f5e9bd\u003c/code\u003e\u003c/a\u003e (Nearly) complete dot_parser coverage (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/3a062bb2282fd6a6d17b0be27235d72f3f4ad7a3\"\u003e\u003ccode\u003e3a062bb\u003c/code\u003e\u003c/a\u003e Fix 'strict' handling in parser (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/89ba7d3a671c7b0aa0afecfcc827d5bc6e68d899\"\u003e\u003ccode\u003e89ba7d3\u003c/code\u003e\u003c/a\u003e Add \u003cstrong\u003efuture\u003c/strong\u003e.annotations imports (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/bc7ffac61a6fdc7fccd93ea00404eb1ddb6392d0\"\u003e\u003ccode\u003ebc7ffac\u003c/code\u003e\u003c/a\u003e Update pyparsing dependency (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/926c1c575fe035fe4c74b573080b9c962b36face\"\u003e\u003ccode\u003e926c1c5\u003c/code\u003e\u003c/a\u003e Drop Python 3.8 from CI, acknowledge it in readme (\u003ca href=\"https://redirect.github.com/pydot/pydot/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydot/pydot/commit/c37e44bfdadb31e91b4e3a96e0c832af65d60c12\"\u003e\u003ccode\u003ec37e44b\u003c/code\u003e\u003c/a\u003e Back to development: 4.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydot/pydot/compare/v2.0.0...v4.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 10.2.0 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate getdata(), in favour of new get_flattened_data() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"\u003e#9292\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify APNG duration type when opening \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9368\"\u003e#9368\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9350\"\u003e#9350\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9366\"\u003e#9366\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate ImageMorph documentation \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9349\"\u003e#9349\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocs: update major bump cadence \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9334\"\u003e#9334\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9070\"\u003e#9070\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9320\"\u003e#9320\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated Ubuntu version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9306\"\u003e#9306\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9265\"\u003e#9265\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate harfbuzz to 12.3.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9355\"\u003e#9355\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate xz to 5.8.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9343\"\u003e#9343\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libjpeg-turbo to 3.1.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9333\"\u003e#9333\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated zlib-ng to 2.3.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9324\"\u003e#9324\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.53 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9325\"\u003e#9325\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate actions/checkout action to v6 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9323\"\u003e#9323\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.19.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9322\"\u003e#9322\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.51 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9305\"\u003e#9305\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated brotli to 1.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9284\"\u003e#9284\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libimagequant to 4.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9301\"\u003e#9301\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.3.1, except on manylinux2014 aarch64 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9312\"\u003e#9312\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 12.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9289\"\u003e#9289\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9277\"\u003e#9277\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTesting\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace pre-commit with prek \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9360\"\u003e#9360\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest PyQt6 on Python 3.14 on Windows \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9353\"\u003e#9353\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest 32-bit Windows on Windows Server 2022 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9345\"\u003e#9345\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eCorrect variable type \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9335\"\u003e#9335\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResourceWarning\u003c/code\u003es in \u003ccode\u003eselftest.py\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9332\"\u003e#9332\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix testing good P mode BMP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9319\"\u003e#9319\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest Python 3.15 pre-release \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9331\"\u003e#9331\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTest ImageFont.ImageFont, in case freetype2 is not supported \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9287\"\u003e#9287\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd Fedora 43 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9290\"\u003e#9290\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove Fedora 41 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9260\"\u003e#9260\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType hints\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ImageFile context manager \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9367\"\u003e#9367\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAssert fp is not None \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8617\"\u003e#8617\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\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/python-pillow/Pillow/blob/main/CHANGES.rst\"\u003epillow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog (Pillow)\u003c/h1\u003e\n\u003ch2\u003e11.1.0 and newer\u003c/h2\u003e\n\u003cp\u003eSee GitHub Releases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003ehttps://github.com/python-pillow/Pillow/releases\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.0.0 (2024-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate licence to MIT-CMU \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8460\"\u003e#8460\u003c/a\u003e\n[hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally define ImageCms type hint to avoid requiring core \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8197\"\u003e#8197\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport writing LONG8 offsets in AppendingTiffWriter \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8417\"\u003e#8417\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ImageFile.MAXBLOCK when saving TIFF images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8461\"\u003e#8461\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDo not close provided file handles with libtiff when saving \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8458\"\u003e#8458\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport ImageFilter.BuiltinFilter for I;16* images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8438\"\u003e#8438\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ImagingCore.ptr instead of ImagingCore.id \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8341\"\u003e#8341\u003c/a\u003e\n[homm, radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated EPS mode when opening images without transparency \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8281\"\u003e#8281\u003c/a\u003e\n[Yay295, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse transparency when combining P frames from APNGs \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8443\"\u003e#8443\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport all resampling filters when resizing I;16* images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8422\"\u003e#8422\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFree memory on early return \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8413\"\u003e#8413\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCast int before potentially exceeding INT_MAX \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8402\"\u003e#8402\u003c/a\u003e\n[radarhere]\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/python-pillow/Pillow/commit/46f45f674d47b5d8bc54230dda8fe9e214598b87\"\u003e\u003ccode\u003e46f45f6\u003c/code\u003e\u003c/a\u003e 12.1.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/c9ac097edb5594f63c40acd9afe6802547200379\"\u003e\u003ccode\u003ec9ac097\u003c/code\u003e\u003c/a\u003e Simplify band splitting (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9291\"\u003e#9291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/3baedf264804d199bc19458d11bcff02ce7598eb\"\u003e\u003ccode\u003e3baedf2\u003c/code\u003e\u003c/a\u003e Deprecate getdata(), in favour of new get_flattened_data() (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"\u003e#9292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/b51a0366852c1d519d108dfec8fc2d738cd8080f\"\u003e\u003ccode\u003eb51a036\u003c/code\u003e\u003c/a\u003e Specify APNG duration type when opening (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9368\"\u003e#9368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/8d08e31533065b623399a54bc92b39a756599ad4\"\u003e\u003ccode\u003e8d08e31\u003c/code\u003e\u003c/a\u003e Add release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9369\"\u003e#9369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/432707ea810ae619e2a9e4a9737c169cacaa8eda\"\u003e\u003ccode\u003e432707e\u003c/code\u003e\u003c/a\u003e Added release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2d589107fb3a4aba8389932a65ff771bf9b4deb1\"\u003e\u003ccode\u003e2d58910\u003c/code\u003e\u003c/a\u003e Specify APNG duration type when opening\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/8dee8dd5ba4e592409db1a7fc11a61a51ba30f04\"\u003e\u003ccode\u003e8dee8dd\u003c/code\u003e\u003c/a\u003e Add ImageFile context manager (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9367\"\u003e#9367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/b2d9bc3c766a9743d23a296a503ea2712cdc6745\"\u003e\u003ccode\u003eb2d9bc3\u003c/code\u003e\u003c/a\u003e Support saving APNG float durations (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9365\"\u003e#9365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/f130c10a9c07bc4a4fe793dc3dabb3fe8bd8a1bd\"\u003e\u003ccode\u003ef130c10\u003c/code\u003e\u003c/a\u003e Allow 1 mode images in MorphOp (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9348\"\u003e#9348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/10.2.0...12.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.14.1 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v...\n\n_Description has been truncated_","html_url":"https://github.com/snorkel-marlin-repos/gaphor_gaphor_pr_3184_e12c4f73-d00e-4c00-ba90-ee5222e53701/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fgaphor_gaphor_pr_3184_e12c4f73-d00e-4c00-ba90-ee5222e53701/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"1.18.2","new_version":"1.19.1","update_type":"minor","path":null,"pr_created_at":"2026-01-03T16:04:52.000Z","version_change":"1.18.2 → 1.19.1","issue":{"uuid":"3778201277","node_id":"PR_kwDOOgVuRs67X_Yd","number":71,"state":"open","title":"Bump pygit2 from 1.18.2 to 1.19.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-03T16:04:52.000Z","updated_at":"2026-01-03T16:04:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.1)](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/pythonpe/edit-python.pe/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-01-01T15:04:11.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3774781952","node_id":"PR_kwDOHVci9M67NS7C","number":116,"state":"closed","title":"🤖 Bump the requirements-txt-deps group with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-04T18:25:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T15:04:11.000Z","updated_at":"2026-01-04T18:25:47.000Z","time_to_close":271294,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"🤖 Bump","group_name":"requirements-txt-deps","update_count":5,"packages":[{"name":"githubkit","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/yanyongyu/githubkit"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pygit2","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.5","repository_url":"https://github.com/amueller/word_cloud"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements-txt-deps group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [githubkit](https://github.com/yanyongyu/githubkit) | `0.14.0` | `0.14.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.1` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.19.0` | `1.19.1` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.5` |\n\nUpdates `githubkit` from 0.14.0 to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yanyongyu/githubkit/releases\"\u003egithubkit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature: add latest response to paginator state by \u003ca href=\"https://github.com/yanyongyu\"\u003e\u003ccode\u003e@​yanyongyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/pull/269\"\u003eyanyongyu/githubkit#269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ere-generate openapi models and apis\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\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/yanyongyu/githubkit/commit/240625f80ced55f017ff9085bdeea089e4358043\"\u003e\u003ccode\u003e240625f\u003c/code\u003e\u003c/a\u003e :bookmark: bump version 0.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/c1087141c9b3b5ed5b4196a8089b9f93caefc934\"\u003e\u003ccode\u003ec108714\u003c/code\u003e\u003c/a\u003e :sparkles: Feature: add latest response to paginator state (\u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/58460fd001b1e7d6ab166dc3cc5c672c73163ec2\"\u003e\u003ccode\u003e58460fd\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/2928138a65f38bf1ce2d0721e64fb28192386e64\"\u003e\u003ccode\u003e2928138\u003c/code\u003e\u003c/a\u003e :alien: re-generate openapi models and apis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yanyongyu/githubkit/commit/c7183468ab13747ea450785fa80a14e20a19af42\"\u003e\u003ccode\u003ec718346\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/cache from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/yanyongyu/githubkit/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yanyongyu/githubkit/compare/v0.14.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\ndeprecations and bug fixes as well.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eApart from annotations and \u003ccode\u003esame_value\u003c/code\u003e kwarg, the 2.4 highlights are mostly\nof interest to downstream developers. They should help in implementing new user\ndtypes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany annotation improvements. In particular, runtime signature introspection.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ecasting\u003c/code\u003e kwarg \u003ccode\u003e'same_value'\u003c/code\u003e for casting by value.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ePyUFunc_AddLoopsFromSpec\u003c/code\u003e function that can be used to add user sort\nloops using the \u003ccode\u003eArrayMethod\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003e__numpy_dtype__\u003c/code\u003e protocol.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eSetting the \u003ccode\u003estrides\u003c/code\u003e attribute is deprecated\u003c/h3\u003e\n\u003cp\u003eSetting the strides attribute is now deprecated since mutating\nan array is unsafe if an array is shared, especially by multiple\nthreads. As an alternative, you can create a new view (no copy) via:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.strided_window_view\u003c/code\u003e if applicable,\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.as_strided\u003c/code\u003e for the general case,\u003c/li\u003e\n\u003cli\u003eor the \u003ccode\u003enp.ndarray\u003c/code\u003e constructor (\u003ccode\u003ebuffer\u003c/code\u003e is the original array) for a\nlight-weight version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28925\"\u003egh-28925\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003ePositional \u003ccode\u003eout\u003c/code\u003e argument to \u003ccode\u003enp.maximum\u003c/code\u003e, \u003ccode\u003enp.minimum\u003c/code\u003e is deprecated\u003c/h3\u003e\n\u003cp\u003ePassing the output array \u003ccode\u003eout\u003c/code\u003e positionally to \u003ccode\u003enumpy.maximum\u003c/code\u003e and\n\u003ccode\u003enumpy.minimum\u003c/code\u003e is deprecated. For example, \u003ccode\u003enp.maximum(a, b, c)\u003c/code\u003e will emit\na deprecation warning, since \u003ccode\u003ec\u003c/code\u003e is treated as the output buffer rather than\na third input.\u003c/p\u003e\n\u003cp\u003eAlways pass the output with the keyword form, e.g. \u003ccode\u003enp.maximum(a, b, out=c)\u003c/code\u003e.\nThis makes intent clear and simplifies type annotations.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29052\"\u003egh-29052\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003ealign=\u003c/code\u003e must be passed as boolean to \u003ccode\u003enp.dtype()\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003cp\u003eThe things to check are the \u003ccode\u003ecibuildwheel\u003c/code\u003e version in\n\u003ccode\u003e.github/workflows/wheels.yml\u003c/code\u003e and the \u003ccode\u003eopenblas\u003c/code\u003e versions in\n\u003ccode\u003eopenblas_requirements.txt\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eMake a release PR\u003c/h1\u003e\n\u003cp\u003eFour documents usually need to be updated or created for the release PR:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe changelog\u003c/li\u003e\n\u003cli\u003eThe release notes\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003e.mailmap\u003c/code\u003e file\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epyproject.toml\u003c/code\u003e file\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese changes should be made in an ordinary PR against the maintenance branch.\nOther small, miscellaneous fixes may be part of this PR. The commit message\nmight be something like::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eREL: Prepare for the NumPy 2.4.0 release\n\u003cul\u003e\n\u003cli\u003eCreate 2.4.0-changelog.rst.\u003c/li\u003e\n\u003cli\u003eUpdate 2.4.0-notes.rst.\u003c/li\u003e\n\u003cli\u003eUpdate .mailmap.\u003c/li\u003e\n\u003cli\u003eUpdate pyproject.toml\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSet the release version\u003c/h2\u003e\n\u003cp\u003eCheck the \u003ccode\u003epyproject.toml\u003c/code\u003e file and set the release version and update the\nclassifier if needed::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ gvim pyproject.toml\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eCheck the \u003ccode\u003edoc/source/release.rst\u003c/code\u003e file\u003c/h2\u003e\n\u003cp\u003emake sure that the release notes have an entry in the \u003ccode\u003erelease.rst\u003c/code\u003e file::\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/numpy/numpy/commit/c5ab79c14c98bfda1e60770ffa23a6130f8267b7\"\u003e\u003ccode\u003ec5ab79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30487\"\u003e#30487\u003c/a\u003e from charris/prepare-2.4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/05e379a9c925dbeca59851b881c64ba098c5abab\"\u003e\u003ccode\u003e05e379a\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/485f1c40703f1c43be708be4c7b7a21b10d90337\"\u003e\u003ccode\u003e485f1c4\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (1) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30486\"\u003e#30486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c683481c9bace3c6a3ba487f50b34539832377a8\"\u003e\u003ccode\u003ec683481\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30439\"\u003e#30439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11d9ed27e07637aa92b8d43bf2ad380a2b8c5c01\"\u003e\u003ccode\u003e11d9ed2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30459\"\u003e#30459\u003c/a\u003e from charris/backport-30456\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2a17ddb25580f20f27c76327733449434c302032\"\u003e\u003ccode\u003e2a17ddb\u003c/code\u003e\u003c/a\u003e TYP: restore \u003ccode\u003egeneric.__hash__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30456\"\u003e#30456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d04a4293bf8c8345f072891433ddb8c483785a6b\"\u003e\u003ccode\u003ed04a429\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30432\"\u003e#30432\u003c/a\u003e from charris/backport-30426\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f94a148bc07fd167275f167995edce57b4f0b8c5\"\u003e\u003ccode\u003ef94a148\u003c/code\u003e\u003c/a\u003e fix more data races in mtrand.pyx (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30426\"\u003e#30426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06a9d4219291f5a15eed54de9314f72b74c41aed\"\u003e\u003ccode\u003e06a9d42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30420\"\u003e#30420\u003c/a\u003e from charris/backport-30418\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30819cd952a4a92852d619b5dd720c63fbcab6bd\"\u003e\u003ccode\u003e30819cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30419\"\u003e#30419\u003c/a\u003e from charris/backport-30373\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.1.3 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/HISTORY.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.2.1\u003c/h1\u003e\n\u003cp\u003e2025-12-29\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2699_, [FreeBSD], [NetBSD]: \u003ccode\u003eheap_info()\u003c/code\u003e_ does not detect small allocations\n(\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc cache before\nfetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.0\u003c/h1\u003e\n\u003cp\u003e2025-12-23\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e1275_: new \u003ccode\u003eheap_info()\u003c/code\u003e_ and \u003ccode\u003eheap_trim()\u003c/code\u003e_ functions, providing direct\naccess to the platform's native C heap allocator (glibc, mimalloc,\nlibmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e2403_, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e2680_: unit tests are no longer installed / part of the distribution. They\nnow live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2684_, [FreeBSD], [critical]: compilation fails on FreeBSD 14 due to missing\ninclude.\u003c/li\u003e\n\u003cli\u003e2691_, [Windows]: fix memory leak in \u003ccode\u003enet_if_stats()\u003c/code\u003e_ due to missing\n\u003ccode\u003ePy_CLEAR\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCompatibility notes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2680_: \u003ccode\u003eimport psutil.tests\u003c/code\u003e no longer works (but it was never documented to\nbegin with).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/6130c19da2d01383befa0dfca2371a792f8881af\"\u003e\u003ccode\u003e6130c19\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2699\"\u003e#2699\u003c/a\u003e / BSD: flush internal jemalloc cache before returning metrics.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/899ee4efa9c1943de14a5818853b6dc9c019eb4f\"\u003e\u003ccode\u003e899ee4e\u003c/code\u003e\u003c/a\u003e Mention psleak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/704e218db7da14e98a54f2aa9f93372d5900e0b4\"\u003e\u003ccode\u003e704e218\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/1a946cfe738045cecf031222cd5078da21946af4\"\u003e\u003ccode\u003e1a946cf\u003c/code\u003e\u003c/a\u003e Take psleak from PYPI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/5085421cabed317d5e2f7164e6072b0be05ba4f1\"\u003e\u003ccode\u003e5085421\u003c/code\u003e\u003c/a\u003e Use external psleak module for memleak tests (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2698\"\u003e#2698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/ac56e6ad0b7c08755a5542afdacb668ad164fd09\"\u003e\u003ccode\u003eac56e6a\u003c/code\u003e\u003c/a\u003e CI: don't cancel CI in progress on 1st failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/10fe3d5e9372a504167b0a4df440ab949c0410fe\"\u003e\u003ccode\u003e10fe3d5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:giampaolo/psutil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/ba507bd26bbfe5d1bdc45d606c8979f9e6f632cb\"\u003e\u003ccode\u003eba507bd\u003c/code\u003e\u003c/a\u003e Fix various CI errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/d5a1398f0860c04883ef881c4760f32d14ef4abf\"\u003e\u003ccode\u003ed5a1398\u003c/code\u003e\u003c/a\u003e Update cpu_count docs: clarify differences from os.cpu_count (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2696\"\u003e#2696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/556158f55fc3b2f1271b48c66c46912323cf8bec\"\u003e\u003ccode\u003e556158f\u003c/code\u003e\u003c/a\u003e Refact memleak.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/release-7.1.3...release-7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.19.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wordcloud` from 1.9.4 to 1.9.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/amueller/word_cloud/releases\"\u003ewordcloud's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for Python 3.14\u003c/li\u003e\n\u003cli\u003eMinimum supported Python is 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInstall with:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install wordcloud==1.9.5\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/4c9313b9f1ac672fb2f8b2557566d31522ea78cb\"\u003e\u003ccode\u003e4c9313b\u003c/code\u003e\u003c/a\u003e Add more platforms for cibuildwheel (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/83414e413b3a666e33da7c73df72a2046cbe1d6f\"\u003e\u003ccode\u003e83414e4\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to v3.3.0 to get python-3.14 wheels (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/804\"\u003e#804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/f52beb2515907549aa4e5f84b514740d43d406c0\"\u003e\u003ccode\u003ef52beb2\u003c/code\u003e\u003c/a\u003e Fix Python 3.14 support (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/928d1526765e36e8c7b63cab26829a5d7f551f8e\"\u003e\u003ccode\u003e928d152\u003c/code\u003e\u003c/a\u003e Update versions for publish workflow (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/806\"\u003e#806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/cfc1e9f203bea06ef89a2d47650c556c4ed4336b\"\u003e\u003ccode\u003ecfc1e9f\u003c/code\u003e\u003c/a\u003e Update license (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/e0c5e0c222c2f14533973a0b82acfbe4c54f746a\"\u003e\u003ccode\u003ee0c5e0c\u003c/code\u003e\u003c/a\u003e Bump minimum python to 3.9 (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/801\"\u003e#801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/c1fe79beccaa2f684e2a2051bf7d6018365b214e\"\u003e\u003ccode\u003ec1fe79b\u003c/code\u003e\u003c/a\u003e fix unclosed file handle (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/799\"\u003e#799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amueller/word_cloud/commit/e7753d4b9904a5bc6c96a4705ef43d7169572fda\"\u003e\u003ccode\u003ee7753d4\u003c/code\u003e\u003c/a\u003e Use ubuntu 22.04 and spread the python version between runners (\u003ca href=\"https://redirect.github.com/amueller/word_cloud/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/amueller/word_cloud/compare/1.9.4...1.9.5\"\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/Aluerie/AluBot/pull/116","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aluerie%2FAluBot/issues/116","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/116/packages"}},{"old_version":"1.15.1","new_version":"1.19.1","update_type":"minor","path":null,"pr_created_at":"2026-01-01T05:00:59.000Z","version_change":"1.15.1 → 1.19.1","issue":{"uuid":"3774131517","node_id":"PR_kwDOAE7iNM67LKmu","number":2627,"state":"open","title":"chore(deps-dev): bump pygit2 from 1.15.1 to 1.19.1","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-01T05:00:59.000Z","updated_at":"2026-01-01T05:01:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pygit2","old_version":"1.15.1","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.15.1 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.15.1...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.15.1\u0026new-version=1.19.1)](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/Screenly/Anthias/pull/2627","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Screenly%2FAnthias/issues/2627","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2627/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2025-12-29T18:10:14.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3768020016","node_id":"PR_kwDOMgx1_s6625Dm","number":291,"state":"open","title":"build(deps): bump pygit2 from 1.19.0 to 1.19.1","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":"2025-12-29T18:10:14.000Z","updated_at":"2026-02-07T20:08:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pygit2","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.19.0 to 1.19.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.1 (2025-12-29)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.2 and OpenSSL 3.5\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: now diff's getitem/iter returns \u003ccode\u003eNone\u003c/code\u003e for unchanged or binary files\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1412\"\u003e#1412\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (macOS): arm, intel and pypy wheels (instead of universal)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1441\"\u003e#1441\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI (pypy): fix tests\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1437\"\u003e#1437\u003c/a\u003e\u003c/p\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/libgit2/pygit2/commit/7ee1ae57fef6327ab47b2c7049456501fcee6f74\"\u003e\u003ccode\u003e7ee1ae5\u003c/code\u003e\u003c/a\u003e Release 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d610f770a7164722e59e587396ffa1a92bccf5bc\"\u003e\u003ccode\u003ed610f77\u003c/code\u003e\u003c/a\u003e CI: fixing build on Alpine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/3ee2acc96aa1db29508005aba0dcfa5e03423922\"\u003e\u003ccode\u003e3ee2acc\u003c/code\u003e\u003c/a\u003e CI: fixing build of OpenSSL 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/60248b5ab897a9e7bdadb5f1e353477ec9bd49c1\"\u003e\u003ccode\u003e60248b5\u003c/code\u003e\u003c/a\u003e Update libgit2 and openssl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/040a65a7622b940ad8706ad9c7422ba27523e917\"\u003e\u003ccode\u003e040a65a\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/48e9fec344530a52211d9f787766c6362ae0428b\"\u003e\u003ccode\u003e48e9fec\u003c/code\u003e\u003c/a\u003e test: skip tests for pypy wheel on MacOS arm64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/890730c1394c4b36b2c07f8679cd4c39e612fc75\"\u003e\u003ccode\u003e890730c\u003c/code\u003e\u003c/a\u003e build(dev):  build separate wheels for Mac OS architectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/6d8ca7557573fc34784d5621c2eacc970190ff3f\"\u003e\u003ccode\u003e6d8ca75\u003c/code\u003e\u003c/a\u003e chore(CI): bump actions/checkout from 5 to 6 in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/ec6e6ea6146c932a61b815cb484dcb1e00c5257b\"\u003e\u003ccode\u003eec6e6ea\u003c/code\u003e\u003c/a\u003e refactor: organize dev-time dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/a4ec27e2f6921d7a63791383c110d60b745e211d\"\u003e\u003ccode\u003ea4ec27e\u003c/code\u003e\u003c/a\u003e Update cibuildwheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.19.0...v1.19.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.19.0\u0026new-version=1.19.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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.","html_url":"https://github.com/gardenlinux/python-gardenlinux-lib/pull/291","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gardenlinux%2Fpython-gardenlinux-lib/issues/291","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/291/packages"}},{"old_version":"1.13.3","new_version":"1.19.0","update_type":"minor","path":null,"pr_created_at":"2025-12-22T22:32:38.000Z","version_change":"1.13.3 → 1.19.0","issue":{"uuid":"3755433246","node_id":"PR_kwDOAozSis66Opa_","number":516,"state":"open","title":"Bump the all-deps group across 1 directory with 72 updates","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":"2025-12-22T22:32:38.000Z","updated_at":"2025-12-22T22:35:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":72,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"antlr4-python3-runtime","old_version":"4.13.1","new_version":"4.13.2"},{"name":"asyncua","old_version":"1.1.5","new_version":"1.1.8","repository_url":"https://github.com/FreeOpcUa/opcua-asyncio"},{"name":"atomicwrites","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/untitaker/python-atomicwrites"},{"name":"autobahn","old_version":"21.3.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/autobahn-python"},{"name":"awkward","old_version":"2.6.10","new_version":"2.8.11","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"awkward-cpp","old_version":"40","new_version":"51","repository_url":"https://github.com/scikit-hep/awkward-1.0"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"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.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comtypes","old_version":"1.4.12","new_version":"1.4.14","repository_url":"https://github.com/enthought/comtypes"},{"name":"configparser","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/jaraco/configparser"},{"name":"contourpy","old_version":"1.1.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"cpylog","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/SteveDoyle2/cpylog"},{"name":"docutils","old_version":"0.20.1","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"ezdxf","old_version":"1.1.4","new_version":"1.4.3","repository_url":"https://github.com/mozman/ezdxf"},{"name":"fonttools","old_version":"4.57.0","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.3.0","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geomdl","old_version":"5.3.1","new_version":"5.4.0","repository_url":"https://github.com/orbingol/NURBS-Python"},{"name":"ijson","old_version":"3.3.0","new_version":"3.4.0.post0","repository_url":"https://github.com/ICRAR/ijson"},{"name":"imageio","old_version":"2.35.1","new_version":"2.37.2","repository_url":"https://github.com/imageio/imageio"},{"name":"importlib-metadata","old_version":"8.5.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"importlib-resources","old_version":"6.4.5","new_version":"6.5.2","repository_url":"https://github.com/python/importlib_resources"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.41.1","new_version":"0.46.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"markdown","old_version":"3.7","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"networkx","old_version":"3.1","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numba","old_version":"0.58.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"1.24.4","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.0.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"10.4.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"4.2.0","new_version":"7.4.2","repository_url":"https://github.com/posthog/posthog-python"},{"name":"protobuf","old_version":"5.29.5","new_version":"6.33.2","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyfakefs","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/pytest-dev/pyfakefs"},{"name":"pygit2","old_version":"1.13.3","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pynastran","old_version":"1.3.4","new_version":"1.4.1","repository_url":"https://github.com/SteveDoyle2/pyNastran"},{"name":"pyopenxr","old_version":"1.1.4601","new_version":"1.1.5301","repository_url":"https://github.com/cmbruns/pyopenxr"},{"name":"pyoptools","old_version":"0.2.1","new_version":"0.3.7"},{"name":"pyparsing","old_version":"3.1.4","new_version":"3.3.0","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypresence","old_version":"4.3.0","new_version":"4.6.1","repository_url":"https://github.com/qwertyquerty/pypresence"},{"name":"pyproj","old_version":"3.5.0","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pyvista","old_version":"0.44.2","new_version":"0.46.4","repository_url":"https://github.com/pyvista/pyvista"},{"name":"pywavelets","old_version":"1.4.1","new_version":"1.9.0","repository_url":"https://github.com/PyWavelets/pywt"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-image","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/scikit-image/scikit-image"},{"name":"scikit-learn","old_version":"1.3.2","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.10.1","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.47.0","new_version":"2.48.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8.1","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"streamdeck","old_version":"0.9.6","new_version":"0.9.8","repository_url":"https://github.com/abcminiuser/python-elgato-streamdeck"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"testtools","old_version":"2.7.2","new_version":"2.8.2","repository_url":"https://github.com/testing-cabal/testtools"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tifffile","old_version":"2023.7.10","new_version":"2025.12.20","repository_url":"https://github.com/cgohlke/tifffile"},{"name":"txaio","old_version":"23.1.1","new_version":"25.12.2","repository_url":"https://github.com/crossbario/txaio"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzdata","old_version":"2025.2","new_version":"2025.3","repository_url":"https://github.com/python/tzdata"},{"name":"tzlocal","old_version":"5.2","new_version":"5.3.1","repository_url":"https://github.com/regebro/tzlocal"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.6.2","repository_url":"https://github.com/urllib3/urllib3"},{"name":"vtk","old_version":"9.3.1","new_version":"9.5.2"},{"name":"xarray","old_version":"2023.1.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.20.2","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-deps group with 72 updates in the /constraints directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.0` |\n| [antlr4-python3-runtime](http://www.antlr.org) | `4.13.1` | `4.13.2` |\n| [asyncua](https://github.com/FreeOpcUa/opcua-asyncio) | `1.1.5` | `1.1.8` |\n| [atomicwrites](https://github.com/untitaker/python-atomicwrites) | `1.4.0` | `1.4.1` |\n| [autobahn](https://github.com/crossbario/autobahn-python) | `21.3.1` | `25.12.2` |\n| [awkward](https://github.com/scikit-hep/awkward-1.0) | `2.6.10` | `2.8.11` |\n| [awkward-cpp](https://github.com/scikit-hep/awkward-1.0) | `40` | `51` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [comtypes](https://github.com/enthought/comtypes) | `1.4.12` | `1.4.14` |\n| [configparser](https://github.com/jaraco/configparser) | `7.1.0` | `7.2.0` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.1.1` | `1.3.3` |\n| [cpylog](https://github.com/SteveDoyle2/cpylog) | `1.5.0` | `1.6.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.20.1` | `0.22.4` |\n| [ezdxf](https://github.com/mozman/ezdxf) | `1.1.4` | `1.4.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.57.0` | `4.61.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.3.0` | `2025.12.0` |\n| [geomdl](https://github.com/orbingol/NURBS-Python) | `5.3.1` | `5.4.0` |\n| [ijson](https://github.com/ICRAR/ijson) | `3.3.0` | `3.4.0.post0` |\n| [imageio](https://github.com/imageio/imageio) | `2.35.1` | `2.37.2` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.5.0` | `8.7.1` |\n| [importlib-resources](https://github.com/python/importlib_resources) | `6.4.5` | `6.5.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.4.9` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.41.1` | `0.46.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.0.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.10.8` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.1` | `3.6.1` |\n| [numba](https://github.com/numba/numba) | `0.58.1` | `0.63.1` |\n| [numpy](https://github.com/numpy/numpy) | `1.24.4` | `2.4.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.0.3` | `2.3.3` |\n| [pillow](https://github.com/python-pillow/Pillow) | `10.4.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `4.2.0` | `7.4.2` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `6.33.2` |\n| [pyfakefs](https://github.com/pytest-dev/pyfakefs) | `5.10.2` | `6.0.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.13.3` | `1.19.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [pynastran](https://github.com/SteveDoyle2/pyNastran) | `1.3.4` | `1.4.1` |\n| [pyopenxr](https://github.com/cmbruns/pyopenxr) | `1.1.4601` | `1.1.5301` |\n| pyoptools | `0.2.1` | `0.3.7` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.1.4` | `3.3.0` |\n| [pypresence](https://github.com/qwertyquerty/pypresence) | `4.3.0` | `4.6.1` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.5.0` | `3.7.2` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pyvista](https://github.com/pyvista/pyvista) | `0.44.2` | `0.46.4` |\n| [pywavelets](https://github.com/PyWavelets/pywt) | `1.4.1` | `1.9.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-image](https://github.com/scikit-image/scikit-image) | `0.21.0` | `0.26.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.3.2` | `1.8.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.10.1` | `1.16.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.47.0` | `2.48.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8.1` |\n| [streamdeck](https://github.com/abcminiuser/python-elgato-streamdeck) | `0.9.6` | `0.9.8` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [testtools](https://github.com/testing-cabal/testtools) | `2.7.2` | `2.8.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.6.0` |\n| [tifffile](https://github.com/cgohlke/tifffile) | `2023.7.10` | `2025.12.20` |\n| [txaio](https://github.com/crossbario/txaio) | `23.1.1` | `25.12.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [tzdata](https://github.com/python/tzdata) | `2025.2` | `2025.3` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.2` | `5.3.1` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.6.2` |\n| [vtk](https://vtk.org) | `9.3.1` | `9.5.2` |\n| [xarray](https://github.com/pydata/xarray) | `2023.1.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.20.2` | `3.23.0` |\n\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003cli\u003eTested and supported on Python 3.13\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003cli\u003eDrop testing on PyPy\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.20.0...v0.21.0\n     6\tAmethyst Reese\n     1\tGabriel\n     1\tStanley Kudrow\n    11\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/3a6d7b03bf86054551b6fd90498056f652671c52\"\u003e\u003ccode\u003e3a6d7b0\u003c/code\u003e\u003c/a\u003e Remove obsolete dependency on typing_extensions (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/e9d6b44af028e7704293b5d7a31ae02077fea5e6\"\u003e\u003ccode\u003ee9d6b44\u003c/code\u003e\u003c/a\u003e Bump black from 25.1.0 to 25.11.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `antlr4-python3-runtime` from 4.13.1 to 4.13.2\n\nUpdates `asyncua` from 1.1.5 to 1.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/releases\"\u003easyncua's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.8\u003c/h2\u003e\n\u003cp\u003efix release script and upload\u003c/p\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003cp\u003eorigin/master, origin/HEAD) Replace time.time() with time.monotonic() in asyncua core modules\nb3dd3a17ffdd554807df230b6b34403b8c946c30 make pytest loop scope explicit\na5d72a2dc2a53e21d84c5f3b9091e27ae14e007e finally unfreeze pytest-asyncio\ncc874c30e2154e86a43523006ecb5839412cc157 Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\n97095b909c141daf9b7d300114f7d5d924444b76 Support pre 1.04 struct length fields for B\u0026amp;R\n5b1091795dc7745efb94acd94381db17274779e8 fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\n120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\nd52d319b7ccf8c52f0e0fce469d06b9a10db0a24 Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\n6b6f4bb220b47b7d6d5612dc4d8daccf386373b0 Fix: Issues with missing namespace URIs when importing and exporting XMLs (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1830\"\u003e#1830\u003c/a\u003e)\nf12f3e19b3e7a3bc3db38add30176eef0cecd300 fix ClientNonce and/or peer_certificate may be None\ne3e02e3cfaca19647aec9348e9452594c6ebd657 Include support for x509 certificate chains in DER format (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003cp\u003eupdate ua adresse space to 1.0.5\nParse ExtensionObjects with missing length (= -1)\nadd: Number in uatypes.py\nAllow setting password to None.\nFix usage of X509IdentityToken\u003c/p\u003e\n\u003cp\u003ebug fixes\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/FreeOpcUa/opcua-asyncio/commit/d8a5de3fe4050f82f39690bb43157a4b8e20c545\"\u003e\u003ccode\u003ed8a5de3\u003c/code\u003e\u003c/a\u003e new release v1.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/fe795e16ad86a4aea8ee09905ab080f9a0841748\"\u003e\u003ccode\u003efe795e1\u003c/code\u003e\u003c/a\u003e fix release script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cacd6a0c355cd5d5e3af9e1d50c8829b69c2ed88\"\u003e\u003ccode\u003ecacd6a0\u003c/code\u003e\u003c/a\u003e Replace time.time() with time.monotonic() in asyncua core modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/b3dd3a17ffdd554807df230b6b34403b8c946c30\"\u003e\u003ccode\u003eb3dd3a1\u003c/code\u003e\u003c/a\u003e make pytest loop scope explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/a5d72a2dc2a53e21d84c5f3b9091e27ae14e007e\"\u003e\u003ccode\u003ea5d72a2\u003c/code\u003e\u003c/a\u003e finally unfreeze pytest-asyncio\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/cc874c30e2154e86a43523006ecb5839412cc157\"\u003e\u003ccode\u003ecc874c3\u003c/code\u003e\u003c/a\u003e Feat: Support import/export of struct and enum Field descriptions (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/97095b909c141daf9b7d300114f7d5d924444b76\"\u003e\u003ccode\u003e97095b9\u003c/code\u003e\u003c/a\u003e Support pre 1.04 struct length fields for B\u0026amp;R\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/5b1091795dc7745efb94acd94381db17274779e8\"\u003e\u003ccode\u003e5b10917\u003c/code\u003e\u003c/a\u003e fix  connecting to new prosys opcua server (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1827\"\u003e#1827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/120d2e8c090fe0dbe34fb27a3e2f723dcb83ab8d\"\u003e\u003ccode\u003e120d2e8\u003c/code\u003e\u003c/a\u003e Fix small bug if imported xml has also the stardard namespace included (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/commit/d52d319b7ccf8c52f0e0fce469d06b9a10db0a24\"\u003e\u003ccode\u003ed52d319\u003c/code\u003e\u003c/a\u003e Enhancement: Chunked Build ETree Function (\u003ca href=\"https://redirect.github.com/FreeOpcUa/opcua-asyncio/issues/1833\"\u003e#1833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FreeOpcUa/opcua-asyncio/compare/v1.1.5...v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `atomicwrites` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/e05d8c985a10176ad43eefb9c4bfa6d7ab176719\"\u003e\u003ccode\u003ee05d8c9\u003c/code\u003e\u003c/a\u003e version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ea90c67ffe5f38cd39d89625022d417da1966522\"\u003e\u003ccode\u003eea90c67\u003c/code\u003e\u003c/a\u003e fix name typo (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/c35cd32eb364d5a4210e64bf38fd1a55f329f316\"\u003e\u003ccode\u003ec35cd32\u003c/code\u003e\u003c/a\u003e Add Power Support ppc64le (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/57\"\u003e#57\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/9f8db6527db8a7d20879756ff83d86009df8c9c5\"\u003e\u003ccode\u003e9f8db65\u003c/code\u003e\u003c/a\u003e wrap line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/6699a1fc44bc5cea2ee258cf960a8bd6cc584e21\"\u003e\u003ccode\u003e6699a1f\u003c/code\u003e\u003c/a\u003e migrate to travis-ci.com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/ec443a88e5e6cfbc9b667b1bcfd52e5a0a485f7e\"\u003e\u003ccode\u003eec443a8\u003c/code\u003e\u003c/a\u003e Add documentation for open_kwargs, fix \u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/56\"\u003e#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/de33f6fac140f32a6eff9eb002feaa6dc7182182\"\u003e\u003ccode\u003ede33f6f\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/d17830127887b97f404f1596ac76d46d730e31f5\"\u003e\u003ccode\u003ed178301\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/72b5dcc9c5225fc8b54559f0f9c02d3211dfd403\"\u003e\u003ccode\u003e72b5dcc\u003c/code\u003e\u003c/a\u003e Update README.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/untitaker/python-atomicwrites/commit/14e7f1f5407344f215f0b06b5cbe49fe65e90d1d\"\u003e\u003ccode\u003e14e7f1f\u003c/code\u003e\u003c/a\u003e Clean up some FAQ/Frequently asked question repetition in readme (\u003ca href=\"https://redirect.github.com/untitaker/python-atomicwrites/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/untitaker/python-atomicwrites/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autobahn` from 21.3.1 to 25.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbario/autobahn-python/releases\"\u003eautobahn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease v25_12_2\u003c/h1\u003e\n\u003cp\u003eOfficial release v25_12_2\u003c/p\u003e\n\u003ch2\u003eIncluded Platforms\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLinux\u003c/strong\u003e: x86_64, ARM64 (manylinux_2_34 wheels with NVX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e: Apple Silicon ARM64 (binary wheels with NVX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e: x86_64 (binary wheels with NVX)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePython Versions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCPython\u003c/strong\u003e: 3.11, 3.12, 3.13, 3.14\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyPy\u003c/strong\u003e: 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install autobahn[all]==v25_12_2\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr download wheels directly from this release.\u003c/p\u003e\n\u003ch2\u003eBuild Information\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRelease Date\u003c/strong\u003e: 2025-12-15 11:12:00 UTC\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTotal Wheels\u003c/strong\u003e: 16\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSource Distributions\u003c/strong\u003e: 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cp\u003eAutobahn|Python provides:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWebSocket\u003c/strong\u003e client and server implementations (RFC 6455)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWAMP\u003c/strong\u003e client library for both Twisted and asyncio\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNVX acceleration\u003c/strong\u003e for high-performance networking (binary wheels)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePure Python fallback\u003c/strong\u003e wheels for maximum compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://autobahn.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python\"\u003eGitHub Repository\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://wamp-proto.org\"\u003eWAMP Protocol\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDevelopment Build fork-7ce4f0c4-oberstet_autobahn_python-sync_autobahn_zlmdb-202512132337\u003c/h1\u003e\n\u003cp\u003eDevelopment build from pull request\u003c/p\u003e\n\u003ch2\u003eBuild Information\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/crossbario/autobahn-python/blob/master/docs/changelog.rst\"\u003eautobahn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBuild \u0026amp; CI/CD\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSynchronize CI/CD, FlatBuffers vendoring, and wamp-ai/wamp-cicd submodules between autobahn-python and zlmdb (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch manylinux container from 2_34 to 2_28 for x86_64 ISA compatibility (fixes auditwheel flatc bundling)\u003c/li\u003e\n\u003cli\u003eIncrease ARM64 build timeout to 60 minutes for QEMU emulation\u003c/li\u003e\n\u003cli\u003eAdd .github/workflows/README.md documenting CI/CD architecture\u003c/li\u003e\n\u003cli\u003eConsolidate download-github-release and download-release-artifacts recipes\u003c/li\u003e\n\u003cli\u003eAdd checksum verification to artifact download workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFlatBuffers\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify vendored FlatBuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003eTrack vendored FlatBuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003eAdd version() function to vendored FlatBuffers runtime\u003c/li\u003e\n\u003cli\u003eAdd check_zlmdb_flatbuffers_version_in_sync() for cross-project compatibility\u003c/li\u003e\n\u003cli\u003eGenerate .bfbs files for WAMP schemas during wheel build\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRename install-flatc to install-flatc-system with prominent warning\u003c/li\u003e\n\u003cli\u003eRemove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003eRemove dev-latest optional dependency (PyPI rejects direct URLs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.12.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vendored Flatbuffers (v25.9.23) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd WAMP serdes functional and benchmark testing; WAMP-Flatbuffers; WAMP Serializer Composition (transport/payload) (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFix\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1757 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1767 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1769\"\u003e#1769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix 1771 complete (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1774\"\u003e#1774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOther\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRel v25.10.2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel v25.10.2 part2 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWAMP Flatbuffers serialization test coverage; WAMP message classes refactoring (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.2: Build Tooling Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1788\"\u003e#1788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePhase 1.3: CI/CD Modernization (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1791\"\u003e#1791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRel25 12 1 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1794\"\u003e#1794\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernization phase 1.4 (\u003ca href=\"https://redirect.github.com/crossbario/autobahn-python/issues/1797\"\u003e#1797\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/crossbario/autobahn-python/commit/5e4f7e086a074892231377f465099946e8f66ac4\"\u003e\u003ccode\u003e5e4f7e0\u003c/code\u003e\u003c/a\u003e docs: add changelog and release notes for v25.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e97953b3cdc42b103075146dabe9eb9f30111c8b\"\u003e\u003ccode\u003ee97953b\u003c/code\u003e\u003c/a\u003e fix: add checksum verification and unify artifact download paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/05f1193cb2b2cdf71a92edfd2d12965083000a68\"\u003e\u003ccode\u003e05f1193\u003c/code\u003e\u003c/a\u003e fix: download-github-release now downloads all release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/467581c1ef461c97e3c24ece03d61119bbc0e126\"\u003e\u003ccode\u003e467581c\u003c/code\u003e\u003c/a\u003e Synchronize CI/CD, Flatbuffers vendoring and wamp-ai and wamp-cicd Submodules...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/60f226c5356feaab3545f7d015c0655924d9444c\"\u003e\u003ccode\u003e60f226c\u003c/code\u003e\u003c/a\u003e build: remove legacy readthedocs.yml to activate .readthedocs.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/0dac159de6194c94d4be19b1958bddf627aba856\"\u003e\u003ccode\u003e0dac159\u003c/code\u003e\u003c/a\u003e Add missing docs deps to dev, ignore CFFI build artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/e2503361b7c6f7cfd9fd38b5e2093703f3035166\"\u003e\u003ccode\u003ee250336\u003c/code\u003e\u003c/a\u003e Simplify vendored flatbuffers - use upstream as-is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/03e2e157268713e71e10f5322e521349bc485116\"\u003e\u003ccode\u003e03e2e15\u003c/code\u003e\u003c/a\u003e Track vendored flatbuffers in git (like zlmdb approach)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/41f7e3c6595b911c482f332f5ea40de7f9c0bc1c\"\u003e\u003ccode\u003e41f7e3c\u003c/code\u003e\u003c/a\u003e Move vendor-flatbuffers logic to external Python script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbario/autobahn-python/commit/8db464888d9c738fb51b78544706c130cc1c47a6\"\u003e\u003ccode\u003e8db4648\u003c/code\u003e\u003c/a\u003e bump package version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbario/autobahn-python/compare/v21.3.1...v25.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward` from 2.6.10 to 2.8.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/releases\"\u003eawkward's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.11\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add behavior cls validation hook by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3710\"\u003escikit-hep/awkward#3710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a playground for cccl studies by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3734\"\u003escikit-hep/awkward#3734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add cuda.compute implementation to CCCL study by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: ability to optionally disable the caching of virtual arrays on themselves by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3741\"\u003escikit-hep/awkward#3741\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug-fixes and performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: string array numpy conversion fails with int32 offsets from parquet by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3697\"\u003escikit-hep/awkward#3697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: only check length against empty form in \u003ccode\u003eak.from_buffers\u003c/code\u003e if it is known by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3714\"\u003escikit-hep/awkward#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typestr respects now limit_cols for .show and \u003cem\u003erepr_mimebundle\u003c/em\u003e by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3712\"\u003escikit-hep/awkward#3712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eArrayBuilder.__bool__ \u003c/code\u003e raises \u003ccode\u003eTypeError\u003c/code\u003e when builder length is 1 by \u003ca href=\"https://github.com/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent teardown from crashing GPU test suite by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3747\"\u003escikit-hep/awkward#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hide awkward.ak_* and awkward.str.akstr_* from 'awkward' and 'awkward.str' module by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3752\"\u003escikit-hep/awkward#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: align multi-level indices before merge in \u003ccode\u003eto_dataframe()\u003c/code\u003e by \u003ca href=\"https://github.com/TaiSakuma\"\u003e\u003ccode\u003e@​TaiSakuma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3733\"\u003escikit-hep/awkward#3733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: numba test failures on Python 3.14 by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3757\"\u003escikit-hep/awkward#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in \u003ccode\u003eto_IndexedOptionArray64\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3727\"\u003escikit-hep/awkward#3727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: weights should not be raised to the power n in the n-th moment calculation by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3729\"\u003escikit-hep/awkward#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3728\"\u003escikit-hep/awkward#3728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; PlaceholderArrays by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3751\"\u003escikit-hep/awkward#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for \u003ccode\u003eaxis=None\u003c/code\u003e by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3765\"\u003escikit-hep/awkward#3765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: fix compilation on self-hosted CI and test with multiple versions of CUDA by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3704\"\u003escikit-hep/awkward#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update acknowledgements to include NumFOCUS affiliation by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3708\"\u003escikit-hep/awkward#3708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3709\"\u003escikit-hep/awkward#3709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: pytest log_level is better than log_cli_level by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3719\"\u003escikit-hep/awkward#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update requirements files for latest possible python versions by \u003ca href=\"https://github.com/ikrommyd\"\u003e\u003ccode\u003e@​ikrommyd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3739\"\u003escikit-hep/awkward#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the actions 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/scikit-hep/awkward/pull/3744\"\u003escikit-hep/awkward#3744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pre-commit hooks by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3754\"\u003escikit-hep/awkward#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove CUDA 11 support by \u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3758\"\u003escikit-hep/awkward#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): use macos-15-intel for x86 wheel building and testing by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3720\"\u003escikit-hep/awkward#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add new versions to version selector by \u003ca href=\"https://github.com/ariostas\"\u003e\u003ccode\u003e@​ariostas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3707\"\u003escikit-hep/awkward#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: 3.14 is supported by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3717\"\u003escikit-hep/awkward#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add T90REAL as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3742\"\u003escikit-hep/awkward#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add dependency and version change guidelines by \u003ca href=\"https://github.com/ianna\"\u003e\u003ccode\u003e@​ianna\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3745\"\u003escikit-hep/awkward#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add shwina as a contributor for code by \u003ca href=\"https://github.com/allcontributors\"\u003e\u003ccode\u003e@​allcontributors\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3759\"\u003escikit-hep/awkward#3759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add an example summation reducer using cccl by \u003ca href=\"https://github.com/maxymnaumchyk\"\u003e\u003ccode\u003e@​maxymnaumchyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3762\"\u003escikit-hep/awkward#3762\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/T90REAL\"\u003e\u003ccode\u003e@​T90REAL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3738\"\u003escikit-hep/awkward#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shwina\"\u003e\u003ccode\u003e@​shwina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3748\"\u003escikit-hep/awkward#3748\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\"\u003ehttps://github.com/scikit-hep/awkward/compare/v2.8.10...v2.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.8.10\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: preserve field order when replacing existing fields in with_field by \u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3681\"\u003escikit-hep/awkward#3681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add to_/from_safetensors by \u003ca href=\"https://github.com/pfackeldey\"\u003e\u003ccode\u003e@​pfackeldey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scikit-hep/awkward/pull/3685\"\u003escikit-hep/awkward#3685\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/scikit-hep/awkward/commit/c4a2e57b47f6738670ffc0e4781a3990e7c3ff03\"\u003e\u003ccode\u003ec4a2e57\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/60072263c91fd8d5df48b487427319c5a10ae70d\"\u003e\u003ccode\u003e6007226\u003c/code\u003e\u003c/a\u003e awkward 2.8.11 and awkward-cpp 51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0ad8b1e25b0bd493508bade8ab8d79a383a854a0\"\u003e\u003ccode\u003e0ad8b1e\u003c/code\u003e\u003c/a\u003e fix: typetracer nplike's \u003ccode\u003eall\u003c/code\u003e function leads to infinite recursion for `axis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/0941b378a8236a660990bd02d2c14e4d6593f28e\"\u003e\u003ccode\u003e0941b37\u003c/code\u003e\u003c/a\u003e fix: keep track of buffer key instead of field path for VirtualNDArrays \u0026amp; Pla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/efea08c134963bc37c1013adc4ab320ebeb4d7a3\"\u003e\u003ccode\u003eefea08c\u003c/code\u003e\u003c/a\u003e chore(ci): use macos-15-intel for x86 wheel building and testing (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/87765b6adb379ba27b0f6b984607c250443b170c\"\u003e\u003ccode\u003e87765b6\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eak.Record\u003c/code\u003e creation from iterable with nested dicts (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/306274c1fd6028ed549fa0f9a5e47a8bd76e693c\"\u003e\u003ccode\u003e306274c\u003c/code\u003e\u003c/a\u003e fix: weights should not be raised to the power n in the n-th moment calculati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/8872e1f4ffd781b07c2a661c235dc2d0a5f5bade\"\u003e\u003ccode\u003e8872e1f\u003c/code\u003e\u003c/a\u003e fix: incorrect passing of \u003ccode\u003eIndex\u003c/code\u003e inside nplike function in `to_IndexedOption...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/1594a70bb0d39e174996275dd251305a13f83b2b\"\u003e\u003ccode\u003e1594a70\u003c/code\u003e\u003c/a\u003e fix: numba test failures on Python 3.14 (\u003ca href=\"https://redirect.github.com/scikit-hep/awkward-1.0/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-hep/awkward/commit/ca066ddc96dd690d52956535fc7422de71ed92e3\"\u003e\u003ccode\u003eca066dd\u003c/code\u003e\u003c/a\u003e feat: ability to optionally disable the caching of virtual arrays on themselv...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/compare/v2.6.10...v2.8.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awkward-cpp` from 40 to 51\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scikit-hep/awkward-1.0/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\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/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\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/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.7...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `comtypes` from 1.4.12 to 1.4.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/releases\"\u003ecomtypes's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003esetup.py\u003c/code\u003e with \u003ccode\u003epyproject.toml\u003c/code\u003e. By \u003ca href=\"https://github.com/moi15moi\"\u003e\u003ccode\u003e@​moi15moi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate codebases for PEP585 compliance. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.8 and add Python 3.14 to the CI pipelines. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDeclare the minimum Python version as 3.9. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ePyCArgObject.value\u003c/code\u003e for Python 3.14 compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd version bridges for the \u003ccode\u003e__pointer_type__\u003c/code\u003e attribute protocol. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/enthought/comtypes/blob/main/CHANGES.txt\"\u003ecomtypes's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.4.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003esetup.py\u003c/code\u003e with \u003ccode\u003epyproject.toml\u003c/code\u003e. By \u003ca href=\"https://github.com/moi15moi\"\u003e\u003ccode\u003e@​moi15moi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate codebases for PEP585 compliance. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.4.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Python 3.8 and add Python 3.14 to the CI pipelines. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDeclare the minimum Python version as 3.9. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ePyCArgObject.value\u003c/code\u003e for Python 3.14 compatibility. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd version bridges for the \u003ccode\u003e__pointer_type__\u003c/code\u003e attribute protocol. By \u003ca href=\"https://github.com/junkmd\"\u003e\u003ccode\u003e@​junkmd\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/enthought/comtypes/commit/b4226687d1df5ccaa6d0ee0df596c0c9adc50b0a\"\u003e\u003ccode\u003eb422668\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.14 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/882\"\u003e#882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/ee4320fc96134277bf72cd42df4221772bcd902b\"\u003e\u003ccode\u003eee4320f\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003ecollections.abc.Iterator\u003c/code\u003e in \u003ccode\u003etypeannotator\u003c/code\u003e to align with PEP 585. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/881\"\u003e#881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/4c95d110d0d5fd286378bae0dc211b69c01f837d\"\u003e\u003ccode\u003e4c95d11\u003c/code\u003e\u003c/a\u003e Replace setup.py with pyproject.toml (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/f2bd6052aa6daf3d3791e30b40bdd3fd85e3bfdd\"\u003e\u003ccode\u003ef2bd605\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e*.py\u003c/code\u003e and \u003ccode\u003e_post_coinit/*.py\u003c/code\u003e files for PEP585 compliance. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/ab2b95e8c76b2fa6ddc24cc911742845ede79f54\"\u003e\u003ccode\u003eab2b95e\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003etools/**/*.py\u003c/code\u003e, \u003ccode\u003eserver/*.py\u003c/code\u003e and \u003ccode\u003eclient/*.py\u003c/code\u003e files for PEP585 comp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/4134455d4c290a10e084a97c9b18ccb5ef62aaf4\"\u003e\u003ccode\u003e4134455\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003etest/*.py\u003c/code\u003e files for PEP585 compliance. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/878\"\u003e#878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/5fd01e33d9f2fc571a0f02fffab1f4ed8b241931\"\u003e\u003ccode\u003e5fd01e3\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003ehints.pyi\u003c/code\u003e and the type symbols under \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks in the g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/6d80cc6a742623130564469aaa543582e10c6301\"\u003e\u003ccode\u003e6d80cc6\u003c/code\u003e\u003c/a\u003e Improve \u003ccode\u003eGetModuleFileName\u003c/code\u003e tests and clarify virtual environment behavior. (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/fb8fd5823d83f866df43ce6f15d1b8dfd7f51f8c\"\u003e\u003ccode\u003efb8fd58\u003c/code\u003e\u003c/a\u003e Bump version and update change log for 1.4.13 (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/874\"\u003e#874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enthought/comtypes/commit/2429d3461e30387daa901cf59fdab02aae851696\"\u003e\u003ccode\u003e2429d34\u003c/code\u003e\u003c/a\u003e Support Python 3.14 and drop Python 3.8. (\u003ca href=\"https://redirect.github.com/enthought/comtypes/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/enthought/comtypes/compare/1.4.12...1.4.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `configparser` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/configparser/blob/main/NEWS.rst\"\u003econfigparser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.2.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefreshed with implementation from CPython main (3.14).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/configparser/commit/196691a5900488f11cdf276af745e36776e2209a\"\u003e\u003ccode\u003e196691a\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/j...\n\n_Description has been truncated_","html_url":"https://github.com/FreeCAD/FreeCAD-addons/pull/516","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeCAD%2FFreeCAD-addons/issues/516","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/516/packages"}},{"old_version":"1.18.0","new_version":"1.19.0","update_type":"minor","path":null,"pr_created_at":"2025-11-03T06:27:32.000Z","version_change":"1.18.0 → 1.19.0","issue":{"uuid":"3580739376","node_id":"PR_kwDOKAT1fM6xHoKQ","number":14,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.19.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-30T06:43:07.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-03T06:27:32.000Z","updated_at":"2025-12-30T06:43:09.000Z","time_to_close":4925735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.19.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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.0\u0026new-version=1.19.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/dataresearchcenter/datasets/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataresearchcenter%2Fdatasets/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"1.18.0","new_version":"1.19.0","update_type":"minor","path":"/services/datalad","pr_created_at":"2025-11-01T13:21:29.000Z","version_change":"1.18.0 → 1.19.0","issue":{"uuid":"3578005914","node_id":"PR_kwDOBfqc4M6w_P5y","number":3613,"state":"open","title":"chore(deps): Bump the datalad group in /services/datalad with 18 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-01T13:21:29.000Z","updated_at":"2025-11-01T13:24:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"datalad","update_count":18,"packages":[{"name":"aiofiles","old_version":"24.1.0","new_version":"25.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"aioshutil","old_version":"1.5","new_version":"1.6","repository_url":"https://github.com/kumaraditya303/aioshutil"},{"name":"bidsschematools","old_version":"1.0.10","new_version":"1.1.2","repository_url":"https://github.com/bids-standard/bids-specification"},{"name":"boto3","old_version":"1.38.31","new_version":"1.40.64","repository_url":"https://github.com/boto/boto3"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"dnspython","old_version":"2.7.0","new_version":"2.8.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"falcon","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/falconry/falcon"},{"name":"pygit2","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"},{"name":"pygithub","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/pygithub/pygithub"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"taskiq-redis","old_version":"1.0.9","new_version":"1.1.2","repository_url":"https://github.com/taskiq-python/taskiq-redis"},{"name":"coverage","old_version":"7.8.2","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"datalad","old_version":"1.2.0","new_version":"1.2.3","repository_url":"https://github.com/datalad/datalad"},{"name":"pytest","old_version":"8.4.0","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.0.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"ruff","old_version":"0.12.2","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"}],"path":"/services/datalad","ecosystem":"pip"},"body":"Bumps the datalad group in /services/datalad with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `24.1.0` | `25.1.0` |\n| [aioshutil](https://github.com/kumaraditya303/aioshutil) | `1.5` | `1.6` |\n| [bidsschematools](https://github.com/bids-standard/bids-specification) | `1.0.10` | `1.1.2` |\n| [boto3](https://github.com/boto/boto3) | `1.38.31` | `1.40.64` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.7.0` | `2.8.0` |\n| [falcon](https://github.com/falconry/falcon) | `4.0.2` | `4.1.0` |\n| [pygit2](https://github.com/libgit2/pygit2) | `1.18.0` | `1.19.0` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.6.1` | `2.8.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [taskiq-redis](https://github.com/taskiq-python/taskiq-redis) | `1.0.9` | `1.1.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.8.2` | `7.11.0` |\n| [datalad](https://github.com/datalad/datalad) | `1.2.0` | `1.2.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.0` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.0.0` | `1.2.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.7.0` | `3.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.2` | `0.14.3` |\n\nUpdates `aiofiles` from 24.1.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/releases\"\u003eaiofiles's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev25.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.  (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0. \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/danielsmyers\"\u003e\u003ccode\u003e@​danielsmyers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/185\"\u003eTinche/aiofiles#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stankudrow\"\u003e\u003ccode\u003e@​stankudrow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/192\"\u003eTinche/aiofiles#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/221\"\u003eTinche/aiofiles#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ehttps://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md\"\u003eaiofiles's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to \u003ca href=\"https://docs.astral.sh/uv/\"\u003euv\u003c/a\u003e + add Python v3.14 support.\n(\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eruff\u003c/code\u003e formatter and linter.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/216\"\u003e#216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 support. If you require it, use version 24.1.0.\n\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/pull/204\"\u003e#204\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/Tinche/aiofiles/commit/348f5ef6561c2b2c8a7497bd10487eab4102332f\"\u003e\u003ccode\u003e348f5ef\u003c/code\u003e\u003c/a\u003e v25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/5e1bb8f12b09bce440cc9d1e28387d239cbc2577\"\u003e\u003ccode\u003e5e1bb8f\u003c/code\u003e\u003c/a\u003e docs: update readme to use ruff badge (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/6fdc25c7812d6738ccf51c5e7d4cd68500053a52\"\u003e\u003ccode\u003e6fdc25c\u003c/code\u003e\u003c/a\u003e Move to uv. (\u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/1989132423dc300c61e22434abd02725e922ddeb\"\u003e\u003ccode\u003e1989132\u003c/code\u003e\u003c/a\u003e set 'function' as a default fixture loop scope value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8986452a1b28b109903078f8e9a805ec01e248a6\"\u003e\u003ccode\u003e8986452\u003c/code\u003e\u003c/a\u003e add the 'asyncio_default_fixture_loop_scope=session' option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/ccab1ff77640c59b353046cb528c25ffa11caa73\"\u003e\u003ccode\u003eccab1ff\u003c/code\u003e\u003c/a\u003e update pytest-asyncio==1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/8727c96f5be46235af412a9fe504ba7c149df7f3\"\u003e\u003ccode\u003e8727c96\u003c/code\u003e\u003c/a\u003e add PR \u003ca href=\"https://redirect.github.com/Tinche/aiofiles/issues/216\"\u003e#216\u003c/a\u003e into the CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/a9388e5f8de9142c3e920917775e741bbf9f73b2\"\u003e\u003ccode\u003ea9388e5\u003c/code\u003e\u003c/a\u003e add TID and ignore TID252\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/760366489aed1fb041ef35652e2babb1870973d0\"\u003e\u003ccode\u003e7603664\u003c/code\u003e\u003c/a\u003e remove [ruff].exclude keyval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tinche/aiofiles/commit/7c49a5c5f2520233198487145423a7842805d740\"\u003e\u003ccode\u003e7c49a5c\u003c/code\u003e\u003c/a\u003e add final newlines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aioshutil` from 1.5 to 1.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/2f5527b6efb15265daa1faa7e2741065005fb3b6\"\u003e\u003ccode\u003e2f5527b\u003c/code\u003e\u003c/a\u003e Remove deprecated ExecError alias (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/17\"\u003e#17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/cf59a1e91f72bc2f9f800bf7d21cf80fe3d50f61\"\u003e\u003ccode\u003ecf59a1e\u003c/code\u003e\u003c/a\u003e fix publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/590e6c653f3e869f382dbef3a4c0964ebad7aec3\"\u003e\u003ccode\u003e590e6c6\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/c2ffa39e8f2095778155dce34a7351fbabb6ee5c\"\u003e\u003ccode\u003ec2ffa39\u003c/code\u003e\u003c/a\u003e Use python 3.13 for publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/33ae80d2da6a16bd12f0274bcead1067c22223cd\"\u003e\u003ccode\u003e33ae80d\u003c/code\u003e\u003c/a\u003e test on Python 3.13, 3.14 and drop 3.8 (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/14\"\u003e#14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kumaraditya303/aioshutil/commit/b5c773f72561ba28f11cbed9301799aa4a297cdf\"\u003e\u003ccode\u003eb5c773f\u003c/code\u003e\u003c/a\u003e test on Python 3.13-dev (\u003ca href=\"https://redirect.github.com/kumaraditya303/aioshutil/issues/13\"\u003e#13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kumaraditya303/aioshutil/compare/v1.5...v1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bidsschematools` from 1.0.10 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bids-standard/bids-specification/releases\"\u003ebidsschematools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBIDS Specification release v1.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etesting the release mechanism (especially RTD component contributed by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreating a minor release prior to EEG and iEEG merges\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003erelease PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/pull/121\"\u003ebids-standard/bids-specification#121\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/bids-standard/bids-specification/blob/v1.1.2/Release_Protocol.md\"\u003ebidsschematools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease Procedure\u003c/h1\u003e\n\u003cp\u003eWhen a release pull request is ready to be opened, please follow this procedure.\u003c/p\u003e\n\u003ch3\u003e1. Fork/Update the most current version of the \u003ca href=\"https://github.com/bids-standard/bids-specification/tree/master\"\u003emaster branch of the BIDS-specification\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003ePlease make sure your fork is the most up to date version\u003c/p\u003e\n\u003ch3\u003e2. Change 'Unreleased' to the version number in the src/CHANGES.md file. One may commit this to their fork.\u003c/h3\u003e\n\u003cp\u003eThis process is figured below \u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/Unreleased-to-Version.png\" alt=\"Unreleased-to-Version\" title=\"Unreleased-to-Version\" /\u003e\u003c/p\u003e\n\u003ch3\u003e3. Please open a pull request on the \u003ca href=\"https://github.com/bids-standard/bids-specification/tree/master\"\u003emaster branch of the BIDS-specification\u003c/a\u003e.\u003c/h3\u003e\n\u003cp\u003eImportant note: The pull request title \u003cstrong\u003eneeds\u003c/strong\u003e to follow this protocol. REL: v.X.X.X (i.e. REL: v.1.1.2) There should only be one commit in the pull request (the step 2 commit)\u003c/p\u003e\n\u003ch3\u003eThis will open a period of discussion for 5 business days regarding if we are ready to release. This will also freeze all pull request merging.\u003c/h3\u003e\n\u003cp\u003eIf we determine we are ready to release, please have the PR submitter add an additional commit with the date in year-month-date format in parentheses after the version of the date of merging (not opening) (i.e. it should read 1.1.2 (2018-12-28)) and merge this PR. This will mark a new release. On the same day, please also do a github release. To do this please see below.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_1.png\" alt=\"GH-release-1\" title=\"GH-release-1\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_2.png\" alt=\"GH-release-2\" title=\"GH-release-2\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/bids-standard/bids-specification/blob/v1.1.2/release_images/GH-release_3.png\" alt=\"GH-release-3\" title=\"GH-release-3\" /\u003e\u003c/p\u003e\n\u003cp\u003eHowever, if it is determined we are not ready to release, please simply close the pull request.\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/bids-standard/bids-specification/commit/5e2b11304ecfaa98cc72ed992b87e3261e45b08f\"\u003e\u003ccode\u003e5e2b113\u003c/code\u003e\u003c/a\u003e Update CHANGES.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/b7f350833236695282afb2a3b2d18cebadd3625a\"\u003e\u003ccode\u003eb7f3508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/121\"\u003e#121\u003c/a\u003e from bids-standard/enh/release112\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/039be46cceebd4610c73de3436aa7119dddf6463\"\u003e\u003ccode\u003e039be46\u003c/code\u003e\u003c/a\u003e Release 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/e83179ffbef0d600730c4ea27cc39c2d95ff7277\"\u003e\u003ccode\u003ee83179f\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/120\"\u003e#120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/85ca1ea5725319352becb2608ddb29e3638bcf96\"\u003e\u003ccode\u003e85ca1ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/120\"\u003e#120\u003c/a\u003e from oesteban/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/d252130c95de8795929efb672b5f6b11df64959a\"\u003e\u003ccode\u003ed252130\u003c/code\u003e\u003c/a\u003e Update 01-contributors.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/4b388ee0e07647c6e1bb615ed180ce4a144dd22e\"\u003e\u003ccode\u003e4b388ee\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/117\"\u003e#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/f7ccaeb10cf219d1f74907d0550aa5adf7fd5eea\"\u003e\u003ccode\u003ef7ccaeb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/117\"\u003e#117\u003c/a\u003e from bids-standard/enh/globa_data_dict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/7828aa2ad549d5052f38aa0fccbe648ab170f0ea\"\u003e\u003ccode\u003e7828aa2\u003c/code\u003e\u003c/a\u003e [DOC] Auto-generate changelog entry for PR \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/116\"\u003e#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bids-standard/bids-specification/commit/55c2090963bb474e6f2fd35f63bf1d065a97ed12\"\u003e\u003ccode\u003e55c2090\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bids-standard/bids-specification/issues/116\"\u003e#116\u003c/a\u003e from greydongilmore/master\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bids-standard/bids-specification/compare/schema-1.0.10...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.31 to 1.40.64\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/47672973d889e45d7aac212b5e2478ceecdd8b52\"\u003e\u003ccode\u003e4767297\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.64'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4126cfba4ab3d05c500afcdd0f9a7720a3ca8b74\"\u003e\u003ccode\u003e4126cfb\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1f76848b4a6e9c1197aeebbfc0042951c27856af\"\u003e\u003ccode\u003e1f76848\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/de8a8d8461c6fa7ff5ad6c99595f440f06e0e1da\"\u003e\u003ccode\u003ede8a8d8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.63'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b4ab1ec761311c896b79687212d04f3fd56f0c03\"\u003e\u003ccode\u003eb4ab1ec\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.63' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cb489750243aa56c04b153a5d68a0653880ecc42\"\u003e\u003ccode\u003ecb48975\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.63\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5c30ab505f48949271b56ee67c5ed5b02f14525a\"\u003e\u003ccode\u003e5c30ab5\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6abe1784956327799cc1fed26cfb0550bb9494cf\"\u003e\u003ccode\u003e6abe178\u003c/code\u003e\u003c/a\u003e update the documentation for creating s3 bucket to address the region mismatc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ea1a84d679f36410a64f311a6213fda85f5995b3\"\u003e\u003ccode\u003eea1a84d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.62'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ec252ff20efbfc802ff6661de4a30afd3fadf9bb\"\u003e\u003ccode\u003eec252ff\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.62' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.31...1.40.64\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.2 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dnspython` from 2.7.0 to 2.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rthalley/dnspython/releases\"\u003ednspython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ednspython 2.8.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://dnspython.readthedocs.io/en/stable/whatsnew.html\"\u003eWhat's New\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003eThe minimum supported version of Python is 3.10.\u003c/p\u003e\n\u003cp\u003eMy thanks to the many people who have contributed to this release. Also thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.\u003c/p\u003e\n\u003cp\u003eThis release was published to PyPI using Trusted Publishing.\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/rthalley/dnspython/blob/main/doc/whatsnew.rst\"\u003ednspython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edns/btreezone.py provides another zone versioned implementation built on top of a\nB-tree.  It maintains DNSSEC sort order, labels nodes as delegation points or glue,\nand can find the \u0026quot;bounds\u0026quot; of a name (useful for DNSSEC responses).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edns/query.py now provides make_socket(), make_ssl_socket(), and make_ssl_context()\nto make using persistent connections with the query code easier.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edns/win32util.py now supports explicitly setting the configuration method used to get\nsystem dns info, using the set_config_method() function.   There is a new configuration\nmethod that uses the Win32 API, which can be set using\nset_config_method(ConfigMethod.Win32).  We are considering making the Win32 API\nthe default in the future as we believe it to be the most accurate.  Any feedback on\nit compared to the other methods is welcome.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe DSYNC record is now supported.  This type is still in draft stage at the IETF\nand is subject to change.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum supported Python version is now 3.10.\u003c/p\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/rthalley/dnspython/commit/77fd94cd9716faf23e0a6e333f6568fc24284402\"\u003e\u003ccode\u003e77fd94c\u003c/code\u003e\u003c/a\u003e 2.8.0 versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/884f38345a8152342fe8ab5da8db9aab654051ba\"\u003e\u003ccode\u003e884f383\u003c/code\u003e\u003c/a\u003e update 2.8 branch workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/1938fe331f97376bf91c028fbfb8c7588c1b84f4\"\u003e\u003ccode\u003e1938fe3\u003c/code\u003e\u003c/a\u003e update 2.8 branch workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a35d6925efe20744e8cf7545d19d03ba06e7ab6f\"\u003e\u003ccode\u003ea35d692\u003c/code\u003e\u003c/a\u003e 2.8.0rc1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/c862baaf0d0aa36d2e7003dfe226cd6ad4d827c4\"\u003e\u003ccode\u003ec862baa\u003c/code\u003e\u003c/a\u003e 2.8.0rc1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/0945d5923d58048c17325975f70f0738c87570b4\"\u003e\u003ccode\u003e0945d59\u003c/code\u003e\u003c/a\u003e more lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/8fa6766d2f7a2431372fc912fb334e752290ebf2\"\u003e\u003ccode\u003e8fa6766\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/641633503ee6b07bf382594ac04707072b90de18\"\u003e\u003ccode\u003e6416335\u003c/code\u003e\u003c/a\u003e Type syntax (\u003ca href=\"https://redirect.github.com/rthalley/dnspython/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a4591447b7d6e38479bcddb14de3b69f314e7009\"\u003e\u003ccode\u003ea459144\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rthalley/dnspython/commit/a0d5f172e89f30709b47b59fb0919d8cf137f611\"\u003e\u003ccode\u003ea0d5f17\u003c/code\u003e\u003c/a\u003e fix the all entries\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rthalley/dnspython/compare/v2.7.0...v2.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `falcon` from 4.0.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/falconry/falcon/releases\"\u003efalcon's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cp\u003eThis release contains enhancements to media handling, serving static files, and a fix for the WebSockets-sink interaction, alongside performance optimizations and full support for CPython 3.14.\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0/\"\u003eFalcon 4.1.0 on PyPI\u003c/a\u003e\n:books: \u003ca href=\"https://falcon.readthedocs.io/en/stable/changes/4.1.0.html\"\u003eChangelog on RtD\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDuring this release cycle, we have migrated to publishing to PyPI with a \u003ca href=\"https://docs.pypi.org/trusted-publishers/\"\u003eTrusted Publisher\u003c/a\u003e (thanks to \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e for helping to iron out the workflow details).\u003c/p\u003e\n\u003cp\u003eFor those relying on other package distribution channels than PyPI, we have prepared a brand new \u003ca href=\"https://falcon.readthedocs.io/en/stable/community/packaging.html\"\u003ePackaging Guide\u003c/a\u003e for Falcon. Please check it out and let us know what you think! Additionally, we have formalized our security maintenance policy as well as the status of stable releases: \u003ca href=\"https://falcon.readthedocs.io/en/stable/community/releases.html\"\u003eReleases and Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis release also incorporates many pull requests submitted by our community. We would like to extend our heartfelt thanks to all 17 contributors who made this release possible!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aarcex3\"\u003e\u003ccode\u003e@​aarcex3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AbduazizZiyodov\"\u003e\u003ccode\u003e@​AbduazizZiyodov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Bombaclath97\"\u003e\u003ccode\u003e@​Bombaclath97\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bssyousefi\"\u003e\u003ccode\u003e@​bssyousefi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CaselIT\"\u003e\u003ccode\u003e@​CaselIT\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diegomirandap\"\u003e\u003ccode\u003e@​diegomirandap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EricGoulart\"\u003e\u003ccode\u003e@​EricGoulart\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jap\"\u003e\u003ccode\u003e@​jap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkmnt\"\u003e\u003ccode\u003e@​jkmnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kemingy\"\u003e\u003ccode\u003e@​kemingy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Krishn1412\"\u003e\u003ccode\u003e@​Krishn1412\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/perodriguezl\"\u003e\u003ccode\u003e@​perodriguezl\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shreshth3\"\u003e\u003ccode\u003e@​Shreshth3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x612skm\"\u003e\u003ccode\u003e@​x612skm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0rc1\u003c/h2\u003e\n\u003cp\u003eThis is the first release candidate of Falcon 4.1.0.\u003c/p\u003e\n\u003cp\u003eWe would greatly appreciate it if you could help us with the final round of testing on your apps, and \u003ca href=\"https://falcon.readthedocs.io/en/latest/community/help.html#chat\"\u003elet us know\u003c/a\u003e if you run into any issues!\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0rc1/\"\u003e4.1.0rc1 on PyPI\u003c/a\u003e\n:books: \u003ca href=\"https://falcon.readthedocs.io/en/latest/changes/4.1.0.html\"\u003eChangelog on RtD\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAs always, you can grab this pre-release \u003ca href=\"https://pypi.org/project/falcon/4.1.0rc1/\"\u003efrom PyPI\u003c/a\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install falcon==4.1.0rc1\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eThank You!\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0b1\u003c/h2\u003e\n\u003cp\u003eThis is the first beta release of Falcon 4.1.\u003c/p\u003e\n\u003cp\u003eAs Falcon 4.1 is now feature-complete, we would really be thankful if you could take it for a spin with your apps, and \u003ca href=\"https://falcon.readthedocs.io/en/latest/community/help.html#chat\"\u003elet us know\u003c/a\u003e if you run into any issues!\u003c/p\u003e\n\u003cp\u003e:snake: \u003ca href=\"https://pypi.org/project/falcon/4.1.0b1/\"\u003e4.1.0b1 on PyPI\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/falconry/falcon/commit/277b9bddfe8f42a42e59ea1cc5bad2ba815fcc94\"\u003e\u003ccode\u003e277b9bd\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0\u003c/code\u003e stable (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/abee9a8c482995c8324f7e67fe92a318b44518e9\"\u003e\u003ccode\u003eabee9a8\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0rc1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2506\"\u003e#2506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/14f3789113689e1c4c8c83bcf2931dd9f8c82b1c\"\u003e\u003ccode\u003e14f3789\u003c/code\u003e\u003c/a\u003e chore(release): prepare \u003ccode\u003e4.1.0b1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2502\"\u003e#2502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/50877a19693273199183ceff899e51771d192682\"\u003e\u003ccode\u003e50877a1\u003c/code\u003e\u003c/a\u003e refactor(\u003cstrong\u003eall\u003c/strong\u003e): re-export identifiers from the public interface (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2503\"\u003e#2503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/cb33a71fb6314213cb656120238477fa29111f62\"\u003e\u003ccode\u003ecb33a71\u003c/code\u003e\u003c/a\u003e chore(typing): ignore unused ignore on 3.10-3.11 (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2505\"\u003e#2505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/eefa5dc274bd0818726c4b822f8af2e536adfc1e\"\u003e\u003ccode\u003eeefa5dc\u003c/code\u003e\u003c/a\u003e fix(ws): properly pass \u003ccode\u003eWebSocket\u003c/code\u003e object to sinks (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2498\"\u003e#2498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/c8e7d1dd5af65939d30d88a0fbc6aa2f2c920935\"\u003e\u003ccode\u003ec8e7d1d\u003c/code\u003e\u003c/a\u003e chore(build): update cibuildwheel to 3.1.0, disable \u003ccode\u003ecpython-prerelease\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2500\"\u003e#2500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/6dd24042e0833af4172f5be8173e21cd6f0e36d2\"\u003e\u003ccode\u003e6dd2404\u003c/code\u003e\u003c/a\u003e chore(release): prepare 4.1.0a3 (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2499\"\u003e#2499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/b7cf70eeca3446fa37e981b383a707eeee76866e\"\u003e\u003ccode\u003eb7cf70e\u003c/code\u003e\u003c/a\u003e chore(release): decouple jobs with \u003ccode\u003eid-token\u003c/code\u003e access from other actions (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2496\"\u003e#2496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/falconry/falcon/commit/509e59bf018fd9fd389ea817b108ae6193f9e57f\"\u003e\u003ccode\u003e509e59b\u003c/code\u003e\u003c/a\u003e chore(release): grant permissions to upload release content (\u003ca href=\"https://redirect.github.com/falconry/falcon/issues/2495\"\u003e#2495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/falconry/falcon/compare/4.0.2...4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygit2` from 1.18.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygithub` from 2.6.1 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygithub/pygithub/releases\"\u003epygithub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse default type if known type is not supported by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3365\"\u003ePyGithub/PyGithub#3365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyGithub/PyGithub/compare/v2.8.0...v2.8.1\"\u003ehttps://github.com/PyGithub/PyGithub/compare/v2.8.0...v2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd self hosted runner management to Organization by \u003ca href=\"https://github.com/billnapier\"\u003e\u003ccode\u003e@​billnapier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3203\"\u003ePyGithub/PyGithub#3203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to generate release notes by \u003ca href=\"https://github.com/mball-agathos\"\u003e\u003ccode\u003e@​mball-agathos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3022\"\u003ePyGithub/PyGithub#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix connection pooling to improve connection performance by \u003ca href=\"https://github.com/chriskuehl\"\u003e\u003ccode\u003e@​chriskuehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3289\"\u003ePyGithub/PyGithub#3289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRepository.get_automated_security_fixes\u003c/code\u003e method by \u003ca href=\"https://github.com/zstyblik\"\u003e\u003ccode\u003e@​zstyblik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3303\"\u003ePyGithub/PyGithub#3303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eIssue\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3338\"\u003ePyGithub/PyGithub#3338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn more union classes like \u003ccode\u003eNamedUser | Organization | Enterprise\u003c/code\u003e by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3224\"\u003ePyGithub/PyGithub#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eEnterprise\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3342\"\u003ePyGithub/PyGithub#3342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eGitReleaseAsset\u003c/code\u003e class with API spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3343\"\u003ePyGithub/PyGithub#3343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSync many class with OpenAPI spec by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3344\"\u003ePyGithub/PyGithub#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePoint deprecation warnings to the caller code rather than inner class by \u003ca href=\"https://github.com/xmo-odoo\"\u003e\u003ccode\u003e@​xmo-odoo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3275\"\u003ePyGithub/PyGithub#3275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3356\"\u003ePyGithub/PyGithub#3356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix  API path of \u003ccode\u003eRepository.get_git_ref\u003c/code\u003e by \u003ca href=\"https://github.com/csalerno-asml\"\u003e\u003ccode\u003e@​csalerno-asml\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/2992\"\u003ePyGithub/PyGithub#2992\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRework redirection URL allowance check by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3329\"\u003ePyGithub/PyGithub#3329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGitRelease.name\u003c/code\u003e, deprecate \u003ccode\u003eGitRelease.title\u003c/code\u003e by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3346\"\u003ePyGithub/PyGithub#3346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e\u0026quot;COMMENT\u0026quot;\u003c/code\u003e as the default event for \u003ccode\u003ecreate_review\u003c/code\u003e by \u003ca href=\"https://github.com/eddie-santos\"\u003e\u003ccode\u003e@​eddie-santos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3078\"\u003ePyGithub/PyGithub#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for public release assets by \u003ca href=\"https://github.com/aolieman\"\u003e\u003ccode\u003e@​aolieman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3339\"\u003ePyGithub/PyGithub#3339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e by \u003ca href=\"https://github.com/interifter\"\u003e\u003ccode\u003e@​interifter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3291\"\u003ePyGithub/PyGithub#3291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor fix to release.yml by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3201\"\u003ePyGithub/PyGithub#3201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce test replay data by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3243\"\u003ePyGithub/PyGithub#3243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd check to OpenAPI script to check doc-string verbs by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3332\"\u003ePyGithub/PyGithub#3332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove apply OpenAPI schemas by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3333\"\u003ePyGithub/PyGithub#3333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd config to OpenAPI script to ignore schemas by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3334\"\u003ePyGithub/PyGithub#3334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd suggest and create method feature to OpenAPI script by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3318\"\u003ePyGithub/PyGithub#3318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI OpenApi apply command by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3341\"\u003ePyGithub/PyGithub#3341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI scripts by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3340\"\u003ePyGithub/PyGithub#3340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI CI by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3347\"\u003ePyGithub/PyGithub#3347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRework test framework by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3271\"\u003ePyGithub/PyGithub#3271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome minor fixes to OpenAPI scripts by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3350\"\u003ePyGithub/PyGithub#3350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd manual workflow to fix auto-fixable issues by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3351\"\u003ePyGithub/PyGithub#3351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3330\"\u003ePyGithub/PyGithub#3330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse default per-page const in \u003ccode\u003ePaginatedList\u003c/code\u003e by \u003ca href=\"https://github.com/sam93210\"\u003e\u003ccode\u003e@​sam93210\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3039\"\u003ePyGithub/PyGithub#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3283\"\u003ePyGithub/PyGithub#3283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3348\"\u003ePyGithub/PyGithub#3348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious minor OpenAPI scripts fixes by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3353\"\u003ePyGithub/PyGithub#3353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd union class support to OpenAPI script by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3354\"\u003ePyGithub/PyGithub#3354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egithub_actions\u003c/code\u003e label to Maintenance section by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3357\"\u003ePyGithub/PyGithub#3357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade docformatter pre-commit hook by \u003ca href=\"https://github.com/EnricoMi\"\u003e\u003ccode\u003e@​EnricoMi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyGithub/PyGithub/pull/3359\"\u003ePyGithub/PyGithub#3359\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/PyGithub/PyGithub/blob/main/doc/changes.rst\"\u003epygithub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.8.1 (September 02, 2025)\u003c/h2\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse default type if known type is not supported (\u003ccode\u003e[#3365](https://github.com/pygithub/pygithub/issues/3365) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3365\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e40506415 \u0026lt;https://github.com/PyGithub/PyGithub/commit/40506415\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.8.0 (September 02, 2025)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd self hosted runner management to Organization (\u003ccode\u003e[#3203](https://github.com/pygithub/pygithub/issues/3203) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3203\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e4ea1c4e2 \u0026lt;https://github.com/PyGithub/PyGithub/commit/4ea1c4e2\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support to generate release notes (\u003ccode\u003e[#3022](https://github.com/pygithub/pygithub/issues/3022) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3022\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ee359b83a \u0026lt;https://github.com/PyGithub/PyGithub/commit/e359b83a\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix connection pooling to improve connection performance (\u003ccode\u003e[#3289](https://github.com/pygithub/pygithub/issues/3289) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3289\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRepository.get_automated_security_fixes\u003c/code\u003e method (\u003ccode\u003e[#3303](https://github.com/pygithub/pygithub/issues/3303) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3303\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e22048d83 \u0026lt;https://github.com/PyGithub/PyGithub/commit/22048d83\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eIssue\u003c/code\u003e class with API spec (\u003ccode\u003e[#3338](https://github.com/pygithub/pygithub/issues/3338) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3338\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e62da467a \u0026lt;https://github.com/PyGithub/PyGithub/commit/62da467a\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eReturn more union classes like \u003ccode\u003eNamedUser | Organization | Enterprise\u003c/code\u003e (\u003ccode\u003e[#3224](https://github.com/pygithub/pygithub/issues/3224) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3224\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eaea64148 \u0026lt;https://github.com/PyGithub/PyGithub/commit/aea64148\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eEnterprise\u003c/code\u003e class with API spec (\u003ccode\u003e[#3342](https://github.com/pygithub/pygithub/issues/3342) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3342\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e01bb5ab1 \u0026lt;https://github.com/PyGithub/PyGithub/commit/01bb5ab1\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync \u003ccode\u003eGitReleaseAsset\u003c/code\u003e class with API spec (\u003ccode\u003e[#3343](https://github.com/pygithub/pygithub/issues/3343) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3343\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e74449fed \u0026lt;https://github.com/PyGithub/PyGithub/commit/74449fed\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSync many class with OpenAPI spec (\u003ccode\u003e[#3344](https://github.com/pygithub/pygithub/issues/3344) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3344\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warnings to the caller code rather than inner class (\u003ccode\u003e[#3275](https://github.com/pygithub/pygithub/issues/3275) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3275\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e99bb5270 \u0026lt;https://github.com/PyGithub/PyGithub/commit/99bb5270\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAllow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods (\u003ccode\u003e[#3356](https://github.com/pygithub/pygithub/issues/3356) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3356\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e3234a21f \u0026lt;https://github.com/PyGithub/PyGithub/commit/3234a21f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix  API path of \u003ccode\u003eRepository.get_git_ref\u003c/code\u003e (\u003ccode\u003e[#2992](https://github.com/pygithub/pygithub/issues/2992) \u0026lt;https://github.com/PyGithub/PyGithub/pull/2992\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ea6965031 \u0026lt;https://github.com/PyGithub/PyGithub/commit/a6965031\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRework redirection URL allowance check (\u003ccode\u003e[#3329](https://github.com/pygithub/pygithub/issues/3329) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3329\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e065b1319 \u0026lt;https://github.com/PyGithub/PyGithub/commit/065b1319\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGitRelease.name\u003c/code\u003e, deprecate \u003ccode\u003eGitRelease.title\u003c/code\u003e (\u003ccode\u003e[#3346](https://github.com/pygithub/pygithub/issues/3346) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3346\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003efb51957f \u0026lt;https://github.com/PyGithub/PyGithub/commit/fb51957f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e\u0026quot;COMMENT\u0026quot;\u003c/code\u003e as the default event for \u003ccode\u003ecreate_review\u003c/code\u003e (\u003ccode\u003e[#3078](https://github.com/pygithub/pygithub/issues/3078) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3078\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e8494da5c \u0026lt;https://github.com/PyGithub/PyGithub/commit/8494da5c\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for public release assets (\u003ccode\u003e[#3339](https://github.com/pygithub/pygithub/issues/3339) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3339\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eabad296e \u0026lt;https://github.com/PyGithub/PyGithub/commit/abad296e\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eFix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e (\u003ccode\u003e[#3291](https://github.com/pygithub/pygithub/issues/3291) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3291\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e17bc4df4 \u0026lt;https://github.com/PyGithub/PyGithub/commit/17bc4df4\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMaintenance\n^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMinor fix to release.yml (\u003ccode\u003e[#3201](https://github.com/pygithub/pygithub/issues/3201) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3201\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ef1fc6e7c \u0026lt;https://github.com/PyGithub/PyGithub/commit/f1fc6e7c\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eReduce test replay data (\u003ccode\u003e[#3243](https://github.com/pygithub/pygithub/issues/3243) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3243\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e19426454 \u0026lt;https://github.com/PyGithub/PyGithub/commit/19426454\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd check to OpenAPI script to check doc-string verbs (\u003ccode\u003e[#3332](https://github.com/pygithub/pygithub/issues/3332) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3332\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e3efde77d \u0026lt;https://github.com/PyGithub/PyGithub/commit/3efde77d\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove apply OpenAPI schemas (\u003ccode\u003e[#3333](https://github.com/pygithub/pygithub/issues/3333) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3333\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003eec189dd6 \u0026lt;https://github.com/PyGithub/PyGithub/commit/ec189dd6\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd config to OpenAPI script to ignore schemas (\u003ccode\u003e[#3334](https://github.com/pygithub/pygithub/issues/3334) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3334\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e0478d33b \u0026lt;https://github.com/PyGithub/PyGithub/commit/0478d33b\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd suggest and create method feature to OpenAPI script (\u003ccode\u003e[#3318](https://github.com/pygithub/pygithub/issues/3318) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3318\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix CI OpenApi apply command (\u003ccode\u003e[#3341](https://github.com/pygithub/pygithub/issues/3341) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3341\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ecdc10a27 \u0026lt;https://github.com/PyGithub/PyGithub/commit/cdc10a27\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI scripts (\u003ccode\u003e[#3340](https://github.com/pygithub/pygithub/issues/3340) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3340\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ead278c5f \u0026lt;https://github.com/PyGithub/PyGithub/commit/ad278c5f\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eImprove OpenAPI CI (\u003ccode\u003e[#3347](https://github.com/pygithub/pygithub/issues/3347) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3347\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e8165bbc9 \u0026lt;https://github.com/PyGithub/PyGithub/commit/8165bbc9\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eRework test framework (\u003ccode\u003e[#3271](https://github.com/pygithub/pygithub/issues/3271) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3271\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e1b700187 \u0026lt;https://github.com/PyGithub/PyGithub/commit/1b700187\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eSome minor fixes to OpenAPI scripts (\u003ccode\u003e[#3350](https://github.com/pygithub/pygithub/issues/3350) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3350\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003ea813a945 \u0026lt;https://github.com/PyGithub/PyGithub/commit/a813a945\u0026gt;\u003c/code\u003e\u003c/em\u003e)\u003c/li\u003e\n\u003cli\u003eAdd manual workflow to fix auto-fixable issues (\u003ccode\u003e[#3351](https://github.com/pygithub/pygithub/issues/3351) \u0026lt;https://github.com/PyGithub/PyGithub/pull/3351\u0026gt;\u003c/code\u003e\u003cem\u003e) (\u003ccode\u003e0e6317d9 \u0026lt;https://github.com/PyGithub/PyGithub/commit/0e6317d9\u0026gt;\u003c/code\u003e\u003c/em\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/PyGithub/PyGithub/commit/ecd47649e302a4b2d3e9b9d03eedb931e7b1ee23\"\u003e\u003ccode\u003eecd4764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/40506415072640b8c95356cd7747dfd39ae252cf\"\u003e\u003ccode\u003e4050641\u003c/code\u003e\u003c/a\u003e Use default type if known type is not supported (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3365\"\u003e#3365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/18eeb269686aa5ee61ee7305ffbc3f0146c0bf5c\"\u003e\u003ccode\u003e18eeb26\u003c/code\u003e\u003c/a\u003e Release 2.8.0 (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/17bc4df41a2b5fddad062e7e34c1921ed28570d3\"\u003e\u003ccode\u003e17bc4df\u003c/code\u003e\u003c/a\u003e Fix GitHub breaking API change of \u003ccode\u003emaintainers\u003c/code\u003e in \u003ccode\u003eOrganization.create_team\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/6f0d6efaebb40ce78b961ca84cd494b103d37894\"\u003e\u003ccode\u003e6f0d6ef\u003c/code\u003e\u003c/a\u003e Update docs on development (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/12d8d10ceec2d58d7d867147d04dad925741eda4\"\u003e\u003ccode\u003e12d8d10\u003c/code\u003e\u003c/a\u003e Add warning about Checks API in doc-strings (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3229\"\u003e#3229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/6ec3ca24a0b32267029bb0c865bccf47fded6285\"\u003e\u003ccode\u003e6ec3ca2\u003c/code\u003e\u003c/a\u003e Upgrade docformatter pre-commit hook (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/9612e61bf78ac2b6c2224624220c048d4c643b63\"\u003e\u003ccode\u003e9612e61\u003c/code\u003e\u003c/a\u003e Revert \u003ccode\u003eget_enterprise\u003c/code\u003e breaking change (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3358\"\u003e#3358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/0c31f848adfa96a00f9ae6145e443932a0161e4c\"\u003e\u003ccode\u003e0c31f84\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003egithub_actions\u003c/code\u003e label to Maintenance section (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3357\"\u003e#3357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyGithub/PyGithub/commit/3234a21f7062bc1bc3b55f8077edb20ca3bdcdd9\"\u003e\u003ccode\u003e3234a21\u003c/code\u003e\u003c/a\u003e Allow for repo strings in all \u003ccode\u003eTeam\u003c/code\u003e repo methods (\u003ca href=\"https://redirect.github.com/pygithub/pygithub/issues/3356\"\u003e#3356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pygithub/pygithub/compare/v2.6.1...v2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 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\u003ch2\u003ev2.32.4\u003c/h2\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. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\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. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\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/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\u003c/blockquote\u003e\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 `taskiq-redis` from 1.0.9 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/releases\"\u003etaskiq-redis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: debug log for pending messages count in RedisStreamBroker by \u003ca href=\"https://github.com/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/96\"\u003etaskiq-python/taskiq-redis#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(broker): allow to set queue name dynamically when kicking on redis-cluster brokers by \u003ca href=\"https://github.com/ns-gtassery\"\u003e\u003ccode\u003e@​ns-gtassery\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/94\"\u003etaskiq-python/taskiq-redis#94\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic queue name for all brokers by \u003ca href=\"https://github.com/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/100\"\u003etaskiq-python/taskiq-redis#100\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/FlorianLB\"\u003e\u003ccode\u003e@​FlorianLB\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/96\"\u003etaskiq-python/taskiq-redis#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ns-gtassery\"\u003e\u003ccode\u003e@​ns-gtassery\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/94\"\u003etaskiq-python/taskiq-redis#94\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/compare/1.1.0...1.1.1\"\u003ehttps://github.com/taskiq-python/taskiq-redis/compare/1.1.0...1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated redis library to version 6. by \u003ca href=\"https://github.com/s3rius\"\u003e\u003ccode\u003e@​s3rius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/pull/98\"\u003etaskiq-python/taskiq-redis#98\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/taskiq-python/taskiq-redis/compare/1.0.9...1.1.0\"\u003ehttps://github.com/taskiq-python/taskiq-redis/compare/1.0.9...1.1.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/taskiq-python/taskiq-redis/commit/4a8f0150b1293969706d51927910738267c4cc9d\"\u003e\u003ccode\u003e4a8f015\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/issues/102\"\u003e#102\u003c/a\u003e from FlorianLB/fix-dynamic-ack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/cb635b6c9e04cc5b3af62010eff1679e9d3aeff5\"\u003e\u003ccode\u003ecb635b6\u003c/code\u003e\u003c/a\u003e fix: ack to the right stream in case of dynamic queue name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/0ff98e1cf11d77fb4ba13db3b714c052c4506bfb\"\u003e\u003ccode\u003e0ff98e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/taskiq-python/taskiq-redis/issues/100\"\u003e#100\u003c/a\u003e from FlorianLB/feat-custom-queue-name-per-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/fe2bfdf6b78feaf1b3a7c34c567a60bb894bafaf\"\u003e\u003ccode\u003efe2bfdf\u003c/code\u003e\u003c/a\u003e feat: support custom queue_name per message for all kick methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taskiq-python/taskiq-redis/commit/e1eca8a96fd7c5ece3c89348157dc798...\n\n_Description has been truncated_","html_url":"https://github.com/OpenNeuroOrg/openneuro/pull/3613","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/issues/3613","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3613/packages"}},{"old_version":"1.18.2","new_version":"1.19.0","update_type":"minor","path":null,"pr_created_at":"2025-10-25T16:05:11.000Z","version_change":"1.18.2 → 1.19.0","issue":{"uuid":"3552667800","node_id":"PR_kwDOOgVuRs6vrvuV","number":62,"state":"open","title":"Bump pygit2 from 1.18.2 to 1.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-25T16:05:11.000Z","updated_at":"2025-10-25T16:05:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.2 to 1.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0 (2025-10-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14 and drop 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport threaded builds (experimental)\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1430\"\u003e#1430\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1435\"\u003e#1435\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Linux musl wheels for AArch64\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Windows wheels for AArch64;\nCI: build Windows wheels with cibuildwheel on GitHub\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1423\"\u003e#1423\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRepository.transaction()\u003c/code\u003e context manager, returns new \u003ccode\u003eReferenceTransaction\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1420\"\u003e#1420\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI: add GitHub releases and other improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1433\"\u003e#1433\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1425\"\u003e#1425\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1431\"\u003e#1431\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation improvements and other changes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1426\"\u003e#1426\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1424\"\u003e#1424\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eIndexEntry.hex\u003c/code\u003e, use \u003ccode\u003estr(entry.id)\u003c/code\u003e instead of \u003ccode\u003eentry.hex\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eIndexEntry.oid\u003c/code\u003e, use \u003ccode\u003eentry.id\u003c/code\u003e instead of \u003ccode\u003eentry.oid\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/libgit2/pygit2/commit/a85f6fb274b237cb76d686b57f6865a90a3b3ef8\"\u003e\u003ccode\u003ea85f6fb\u003c/code\u003e\u003c/a\u003e CI: build ppc wheels always\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/45423e992d7b24a4224b1e150efe1650281980d2\"\u003e\u003ccode\u003e45423e9\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4b2459b1d378734f15af56f85cd249801dcac193\"\u003e\u003ccode\u003e4b2459b\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch '2bndy5/replace-PyList_GET_ITEM'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2a9058011642ae8e5a3a6d9acd12e074a0ca1f80\"\u003e\u003ccode\u003e2a90580\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/db088ecb22eb25b1e86f6edae2330e2e2d76d43a\"\u003e\u003ccode\u003edb088ec\u003c/code\u003e\u003c/a\u003e fix: replace \u003ccode\u003ePyList_GET_ITEM()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/03b6afcfd2c802f2da7d81a417ae9c6484ab509d\"\u003e\u003ccode\u003e03b6afc\u003c/code\u003e\u003c/a\u003e docs: update install docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2ea43ed59275e2b458b39b62499a2c1df5b6035e\"\u003e\u003ccode\u003e2ea43ed\u003c/code\u003e\u003c/a\u003e Remove deprecated IndexEntry.hex and deprecate IndexEntry.oid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/9fe9f2200424ad47e13e16c4d73917881ef141d5\"\u003e\u003ccode\u003e9fe9f22\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/8fb06faf390c8dff13228eec1802553b0117cd4c\"\u003e\u003ccode\u003e8fb06fa\u003c/code\u003e\u003c/a\u003e test: refactor CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16e2f36be89bf558c1a2e5d3d29a63b87cb71f1\"\u003e\u003ccode\u003ed16e2f3\u003c/code\u003e\u003c/a\u003e skip tests when using qemu to biuld wheel\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.2...v1.19.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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.2\u0026new-version=1.19.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/pythonpe/edit-python.pe/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"}},{"old_version":"1.18.0","new_version":"1.18.2","update_type":"patch","path":null,"pr_created_at":"2025-10-06T00:13:20.000Z","version_change":"1.18.0 → 1.18.2","issue":{"uuid":"2888492759","node_id":"PR_kwDOGsjhQM6sKubX","number":205,"state":"open","title":"Bump pygit2 from 1.18.0 to 1.18.2","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-06T00:13:20.000Z","updated_at":"2025-10-06T00:13:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/spjuhel/BoARIO/pull/205","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/spjuhel%2FBoARIO/issues/205","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/205/packages"}},{"old_version":"1.17.0","new_version":"1.18.2","update_type":"minor","path":null,"pr_created_at":"2025-09-05T09:35:57.000Z","version_change":"1.17.0 → 1.18.2","issue":{"uuid":"3386912544","node_id":"PR_kwDOOgVuRs6nA6Cw","number":40,"state":"open","title":"Bump pygit2 from 1.17.0 to 1.18.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-05T09:35:57.000Z","updated_at":"2025-09-06T03:07:00.525Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.17.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.17.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.17.0...v1.18.2\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.2)](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/pythonpe/edit-python.pe/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonpe%2Fedit-python.pe/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"}},{"old_version":"1.18.0","new_version":"1.18.2","update_type":"patch","path":null,"pr_created_at":"2025-08-25T22:06:07.000Z","version_change":"1.18.0 → 1.18.2","issue":{"uuid":"2773139089","node_id":"PR_kwDOMloi_c6lSr6R","number":645,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-26T16:13:13.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T22:06:07.000Z","updated_at":"2025-08-26T16:13:13.000Z","time_to_close":65226,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/CDCgov/pyrenew-hew/pull/645","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDCgov%2Fpyrenew-hew/issues/645","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/645/packages"}},{"old_version":"1.18.0","new_version":"1.18.2","update_type":"patch","path":null,"pr_created_at":"2025-08-25T15:09:08.000Z","version_change":"1.18.0 → 1.18.2","issue":{"uuid":"2772170014","node_id":"PR_kwDOLp4nY86lO_Ue","number":75,"state":"closed","title":"chore(deps): bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-02T10:40:27.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T15:09:08.000Z","updated_at":"2025-09-02T10:40:27.000Z","time_to_close":675079,"merged_at":"2025-09-02T10:40:27.000Z","merged_by":"RestartB","closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/RestartB/titanium/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RestartB%2Ftitanium/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"}},{"old_version":"1.18.0","new_version":"1.18.2","update_type":"patch","path":null,"pr_created_at":"2025-08-18T00:47:11.000Z","version_change":"1.18.0 → 1.18.2","issue":{"uuid":"2751663127","node_id":"PR_kwDOBv1Mnc6kAwwX","number":2601,"state":"open","title":"Bump pygit2 from 1.18.0 to 1.18.2","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-18T00:47:11.000Z","updated_at":"2025-08-18T00:47:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.2 (2025-08-16)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for almost all global options\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1409\"\u003e#1409\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow it's possible to set \u003ccode\u003eSubmodule.url = url\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1395\"\u003e#1395\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemoteCallbacks.push_negotiation(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew optional boolean argument \u003ccode\u003econnect\u003c/code\u003e in \u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1396\"\u003e#1396\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e returns a list of \u003ccode\u003eRemoteHead\u003c/code\u003e objects\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1397\"\u003e#1397\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1410\"\u003e#1410\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation fixes\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1388\"\u003e#1388\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1387\"\u003e#1387\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1389\"\u003e#1389\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1390\"\u003e#1390\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1391\"\u003e#1391\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1392\"\u003e#1392\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1393\"\u003e#1393\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1394\"\u003e#1394\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1398\"\u003e#1398\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1399\"\u003e#1399\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1400\"\u003e#1400\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1402\"\u003e#1402\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1403\"\u003e#1403\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1406\"\u003e#1406\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1407\"\u003e#1407\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1408\"\u003e#1408\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eRemote.ls_remotes(...)\u003c/code\u003e is deprecated, use \u003ccode\u003eRemote.list_heads(...)\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\nfor head in remote.ls_remotes():\n    head['name']\n    head['oid']\n    head['loid']  # None when local is False\n    head['local']\n    head['symref_target']\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d88fa3dcbab21a7eb33ff354222c4ec8e5ff6ece\"\u003e\u003ccode\u003ed88fa3d\u003c/code\u003e\u003c/a\u003e Release 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/68c871b29fd08621ed607a8d7789af6436d8e9cf\"\u003e\u003ccode\u003e68c871b\u003c/code\u003e\u003c/a\u003e Make mypy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/e894e1c4a6474b4d48e9ea95561fb98becdbce1c\"\u003e\u003ccode\u003ee894e1c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/97255ccaa6d8619346436bf08224346e0354b324\"\u003e\u003ccode\u003e97255cc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'kbaikov/mypy-fixes8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/f09359fd6164913ab303f92fa2877af7a393a44a\"\u003e\u003ccode\u003ef09359f\u003c/code\u003e\u003c/a\u003e Don't build wheels for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/d16378e01217bfef13a208f35e89f59898002acf\"\u003e\u003ccode\u003ed16378e\u003c/code\u003e\u003c/a\u003e Remote.ls_remotes returns backwards compatible value for loid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/2c9792a878b4627559a6c08e3c344ddf8bc4a03f\"\u003e\u003ccode\u003e2c9792a\u003c/code\u003e\u003c/a\u003e Deprecate Remote.ls_remotes in favor of Remote.list_heads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5c8ad80e935fb3b3de2977a98ff5be1d52fd0a46\"\u003e\u003ccode\u003e5c8ad80\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/c921ebc146e1c0ae1da0e1d57e8a4e91ee0fae95\"\u003e\u003ccode\u003ec921ebc\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ambv/move-options-to-cffi'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7a7895f06a7fee3e57b3be2561ec1c63737724d3\"\u003e\u003ccode\u003e7a7895f\u003c/code\u003e\u003c/a\u003e Halve the number of quotes in NotImplementedError messages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.2\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.2)](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/wpt-sync/pull/2601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fwpt-sync/issues/2601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2601/packages"}},{"old_version":"1.17.0","new_version":"1.18.1","update_type":"minor","path":null,"pr_created_at":"2025-08-12T00:16:00.000Z","version_change":"1.17.0 → 1.18.1","issue":{"uuid":"2737226781","node_id":"PR_kwDOHgFTcc6jJsQd","number":593,"state":"closed","title":"Bump pygit2 from 1.17.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-08-12T12:45:20.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-12T00:16:00.000Z","updated_at":"2025-08-12T12:45:20.000Z","time_to_close":44960,"merged_at":"2025-08-12T12:45:20.000Z","merged_by":"sobregosodd","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.17.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.17.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.0 (2025-04-24)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade Linux Glibc wheels to \u003ccode\u003emanylinux_2_28\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eRemoteCallbacks.push_transfer_progress(...)\u003c/code\u003e callback\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1345\"\u003e#1345\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003ebool(oid)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1347\"\u003e#1347\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge(...)\u003c/code\u003e accepts a commit or reference object\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1348\"\u003e#1348\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003ethreads\u003c/code\u003e optional argument in \u003ccode\u003eRemote.push(...)\u003c/code\u003e\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.17.0...v1.18.1\"\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=pygit2\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.1)](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/DataDog/guarddog/pull/593","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fguarddog/issues/593","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/593/packages"}},{"old_version":"1.18.0","new_version":"1.18.1","update_type":"patch","path":null,"pr_created_at":"2025-08-11T16:55:34.000Z","version_change":"1.18.0 → 1.18.1","issue":{"uuid":"2736221203","node_id":"PR_kwDOMloi_c6jF2wT","number":622,"state":"closed","title":"Bump pygit2 from 1.18.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-25T22:06:10.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-11T16:55:34.000Z","updated_at":"2025-08-25T22:06:10.000Z","time_to_close":1228236,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.1\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.1)](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/CDCgov/pyrenew-hew/pull/622","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDCgov%2Fpyrenew-hew/issues/622","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/622/packages"}},{"old_version":"1.18.0","new_version":"1.18.1","update_type":"patch","path":null,"pr_created_at":"2025-08-03T05:33:49.000Z","version_change":"1.18.0 → 1.18.1","issue":{"uuid":"2715638329","node_id":"PR_kwDOI6rgAs6h3Vo5","number":1131,"state":"closed","title":"build(deps): bump pygit2 from 1.18.0 to 1.18.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-03T09:33:12.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-03T05:33:49.000Z","updated_at":"2025-08-03T09:33:12.000Z","time_to_close":14363,"merged_at":"2025-08-03T09:33:12.000Z","merged_by":"hk21702","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pygit2","old_version":"1.18.0","new_version":"1.18.1","repository_url":"https://github.com/libgit2/pygit2"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pygit2](https://github.com/libgit2/pygit2) from 1.18.0 to 1.18.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md\"\u003epygit2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.1 (2025-07-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate wheels to libgit2 1.9.1 and OpenSSL 3.3\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.remove_directory(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew \u003ccode\u003eIndex.add_conflict(...)\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1382\"\u003e#1382\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNow \u003ccode\u003eRepository.merge_file_from_index(...)\u003c/code\u003e returns a \u003ccode\u003eMergeFileResult\u003c/code\u003e object when\ncalled with \u003ccode\u003euse_deprecated=False\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1376\"\u003e#1376\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping improvements\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1369\"\u003e#1369\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1370\"\u003e#1370\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1371\"\u003e#1371\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1373\"\u003e#1373\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1384\"\u003e#1384\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/libgit2/pygit2/pull/1386\"\u003e#1386\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate your code:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Before\ncontents = Repository.merge_file_from_index(...)\n\u003ch1\u003eNow\u003c/h1\u003e\n\u003cp\u003eresult = Repository.merge_file_from_index(..., use_deprecated=False)\u003cbr /\u003e\ncontents = result.contents\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAt some point in the future \u003ccode\u003euse_deprecated=False\u003c/code\u003e will be the default.\u003c/p\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/libgit2/pygit2/commit/ffe28ac049140c4b75ab7ccd0551b8836ad6b9bc\"\u003e\u003ccode\u003effe28ac\u003c/code\u003e\u003c/a\u003e Release 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/1978e14d0fe2ae01ccf9a83303cc6774079d2342\"\u003e\u003ccode\u003e1978e14\u003c/code\u003e\u003c/a\u003e add mypy ci step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/7fbdc1d2bd6f9a6e65a29552e12b0f72e5600cca\"\u003e\u003ccode\u003e7fbdc1d\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/\u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/4503f5ac3a25001aad1875d3213042dfb5992350\"\u003e\u003ccode\u003e4503f5a\u003c/code\u003e\u003c/a\u003e fix typing in pygit2/blob.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/5911b0cbca0644c9e51b59d22087735f8ef86b1c\"\u003e\u003ccode\u003e5911b0c\u003c/code\u003e\u003c/a\u003e typing: ignore some errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/650141d4e2d7c6ca4d5be8928712cd3c0090ee48\"\u003e\u003ccode\u003e650141d\u003c/code\u003e\u003c/a\u003e fix mypy issue in pygit2/filter.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0e95587a0d9f381f83a5125506b8661953a4a271\"\u003e\u003ccode\u003e0e95587\u003c/code\u003e\u003c/a\u003e fix and silence typing in repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/0df1e17206800b4a98bb5991c754d5474c489844\"\u003e\u003ccode\u003e0df1e17\u003c/code\u003e\u003c/a\u003e typing: submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/570cdeff4dbb4344466b97d7be697de83d35a9a2\"\u003e\u003ccode\u003e570cdef\u003c/code\u003e\u003c/a\u003e improve typing: add constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/libgit2/pygit2/commit/867a065ae27af0a2d2d23aaa3ac7f23e6bddaca9\"\u003e\u003ccode\u003e867a065\u003c/code\u003e\u003c/a\u003e test_add_conflict xfail in macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/libgit2/pygit2/compare/v1.18.0...v1.18.1\"\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=pygit2\u0026package-manager=uv\u0026previous-version=1.18.0\u0026new-version=1.18.1)](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)\nDependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @hk21702.\n\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/RimSort/RimSort/pull/1131","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimSort%2FRimSort/issues/1131","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1131/packages"}}]}