{"id":14392,"name":"twine","ecosystem":"pip","repository_url":"https://github.com/pypa/twine","issues_count":369,"created_at":"2025-06-06T23:44:37.123Z","updated_at":"2025-06-06T23:44:37.123Z","purl":"pkg:pypi/twine","metadata":{"id":2956120,"name":"twine","ecosystem":"pypi","description":"Collection of utilities for publishing packages on PyPI","homepage":"https://twine.readthedocs.io/","licenses":"Apache Software License","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/pypa/twine","keywords_array":[],"namespace":null,"versions_count":58,"first_release_published_at":"2013-09-26T12:48:13.000Z","latest_release_published_at":"2025-01-21T18:45:24.000Z","latest_release_number":"6.1.0","last_synced_at":"2025-06-07T05:30:57.429Z","created_at":"2022-04-10T12:55:22.449Z","updated_at":"2025-06-07T05:30:57.430Z","registry_url":"https://pypi.org/project/twine/","install_command":"pip install twine --index-url https://pypi.org/simple","documentation_url":"https://twine.readthedocs.io/en/latest/","metadata":{"funding":null,"documentation":"https://twine.readthedocs.io/en/latest/","classifiers":["Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Natural Language :: English","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft :: Windows","Operating System :: POSIX","Operating System :: POSIX :: BSD","Operating System :: POSIX :: Linux","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython"],"normalized_name":"twine"},"repo_metadata":{"id":10040342,"uuid":"12085555","full_name":"pypa/twine","owner":"pypa","description":"Utilities for interacting with PyPI","archived":false,"fork":false,"pushed_at":"2024-10-23T23:45:25.000Z","size":1528,"stargazers_count":1606,"open_issues_count":58,"forks_count":308,"subscribers_count":39,"default_branch":"main","last_synced_at":"2024-10-24T13:21:46.925Z","etag":null,"topics":["pypi","pypi-package","pypi-upload","python","python-wheel","python3","wheel"],"latest_commit_sha":null,"homepage":"https://twine.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"realm/realm-android-adapters","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pypa.png","metadata":{"files":{"readme":"README.rst","changelog":"changelog/.gitignore","contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-08-13T15:39:39.000Z","updated_at":"2024-10-23T23:45:29.000Z","dependencies_parsed_at":"2023-02-18T07:30:51.554Z","dependency_job_id":"f9a53431-7683-4599-8481-47ccabe8ec96","html_url":"https://github.com/pypa/twine","commit_stats":{"total_commits":904,"total_committers":129,"mean_commits":7.007751937984496,"dds":0.8550884955752213,"last_synced_commit":"6fbf880ee60915cf1666348c4bdd78a10415f2ac"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pypa","download_url":"https://codeload.github.com/pypa/twine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223455092,"owners_count":17147848,"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":"pypa","name":"Python Packaging Authority","uuid":"647025","kind":"organization","description":"","email":"info@pypa.io","website":"https://www.pypa.io","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/647025?v=4","repositories_count":54,"last_synced_at":"2024-05-20T15:05:54.402Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/pypa","funding_links":["https://github.com/sponsors/pypa"],"total_stars":79283,"followers":1384,"following":0,"created_at":"2022-11-02T16:21:37.826Z","updated_at":"2024-05-20T15:05:56.749Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pypa","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pypa/repositories"},"tags":[{"name":"v5.1.1","sha":"e29791dcbcd4d39ffc5c4ce2e38e3884005bd368","kind":"commit","published_at":"2024-06-26T14:54:24.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/v5.1.1","html_url":"https://github.com/pypa/twine/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/v5.1.1/manifests"},{"name":"5.1.0","sha":"e9f70cff51d5b355305680b8501bdb17c2de015e","kind":"tag","published_at":"2024-05-16T13:46:25.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/5.1.0","html_url":"https://github.com/pypa/twine/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"94f810c54c8bc9d418a9ed64890ca9fa4ec7b59f","kind":"tag","published_at":"2024-02-11T13:42:42.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/5.0.0","html_url":"https://github.com/pypa/twine/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/5.0.0/manifests"},{"name":"4.0.2","sha":"75c3d8623c0847d8ce5a59c1d14a9fcc71e2a4a2","kind":"tag","published_at":"2022-12-01T01:22:38.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/4.0.2","html_url":"https://github.com/pypa/twine/releases/tag/4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.2/manifests"},{"name":"4.0.1","sha":"8f5e5d6d42d582ef3ea6ef07da277e0cabd22fd2","kind":"tag","published_at":"2022-06-01T10:56:00.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/4.0.1","html_url":"https://github.com/pypa/twine/releases/tag/4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.1/manifests"},{"name":"4.0.0","sha":"36695abf8837aba72d87304d99b789c3f2872c99","kind":"tag","published_at":"2022-03-31T12:44:33.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/4.0.0","html_url":"https://github.com/pypa/twine/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/4.0.0/manifests"},{"name":"3.8.0","sha":"c5769e0fe27064c77cd5b09512d686913d420f95","kind":"tag","published_at":"2022-02-02T18:41:44.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.8.0","html_url":"https://github.com/pypa/twine/releases/tag/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.8.0/manifests"},{"name":"3.7.1","sha":"d82cd00d216f6a1768ee835d1b534f16190f35bd","kind":"tag","published_at":"2021-12-07T11:40:39.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.7.1","html_url":"https://github.com/pypa/twine/releases/tag/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.7.1/manifests"},{"name":"3.7.0","sha":"e2d3f8448fdeadba1388c193be6b66dc93c227ba","kind":"tag","published_at":"2021-12-01T14:57:44.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.7.0","html_url":"https://github.com/pypa/twine/releases/tag/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.7.0/manifests"},{"name":"3.6.0","sha":"5a793bf1230a70327a225ef6117e0c9ee2ab7cb1","kind":"tag","published_at":"2021-11-10T11:34:50.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.6.0","html_url":"https://github.com/pypa/twine/releases/tag/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.6.0/manifests"},{"name":"3.5.0","sha":"7deea5833918cdb8496587119900e8a3cde57dfc","kind":"tag","published_at":"2021-11-03T15:04:53.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.5.0","html_url":"https://github.com/pypa/twine/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.5.0/manifests"},{"name":"3.4.2","sha":"9652b938692cdb2a304a83e01e0a9e8b1eadeace","kind":"tag","published_at":"2021-07-20T16:06:36.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.4.2","html_url":"https://github.com/pypa/twine/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"ce3e76d899736f0dffd619c88961bce838f5931f","kind":"tag","published_at":"2021-03-17T00:38:18.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.4.1","html_url":"https://github.com/pypa/twine/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.1/manifests"},{"name":"3.4.0","sha":"2dab479a003c3c9165498a439bc64e05d29eda9a","kind":"tag","published_at":"2021-03-15T16:28:42.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.4.0","html_url":"https://github.com/pypa/twine/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"534385596820129b41cbcdcc83d34aa8788067f1","kind":"tag","published_at":"2020-12-24T11:02:27.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.3.0","html_url":"https://github.com/pypa/twine/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.3.0/manifests"},{"name":"3.3.0rc1","sha":"79bd4bd29b3f5efd1de53f6cb969b802e4672be6","kind":"tag","published_at":"2020-12-23T11:28:23.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.3.0rc1","html_url":"https://github.com/pypa/twine/releases/tag/3.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.3.0rc1/manifests"},{"name":"3.2.0","sha":"1e8140456e7822ab5d72ecf36e0814a09531e451","kind":"tag","published_at":"2020-06-24T09:51:34.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.2.0","html_url":"https://github.com/pypa/twine/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.2.0/manifests"},{"name":"3.2.0rc1","sha":"e2f33a530b3c9ebbff2e385f109956643885858f","kind":"tag","published_at":"2020-06-23T10:18:00.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.2.0rc1","html_url":"https://github.com/pypa/twine/releases/tag/3.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.2.0rc1/manifests"},{"name":"3.1.1","sha":"68dc617bafbc8a32adbe41c12055efe6ba6d0e1e","kind":"commit","published_at":"2019-11-27T16:40:46.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.1.1","html_url":"https://github.com/pypa/twine/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"e3aeaaf8de4e84da36ad17ca1412b0a128a282ae","kind":"tag","published_at":"2019-11-23T12:52:30.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.1.0","html_url":"https://github.com/pypa/twine/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.1.0/manifests"},{"name":"3.0.0","sha":"315c5a3b254ed6a49cca11559a7ac430da2a6cd2","kind":"tag","published_at":"2019-11-18T20:52:02.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/3.0.0","html_url":"https://github.com/pypa/twine/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/3.0.0/manifests"},{"name":"2.0.0","sha":"5cb18677d451dcf54a10b939227082e87ee02780","kind":"tag","published_at":"2019-09-24T15:30:05.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/2.0.0","html_url":"https://github.com/pypa/twine/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/2.0.0/manifests"},{"name":"1.15.0","sha":"2f8c336c1b5bf7aec532dc91a00371ef8870e97a","kind":"tag","published_at":"2019-09-17T14:29:42.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.15.0","html_url":"https://github.com/pypa/twine/releases/tag/1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.15.0/manifests"},{"name":"1.14.0","sha":"e8ed66e4f8e658da84da62dc480402a5d5b51687","kind":"tag","published_at":"2019-09-07T21:28:50.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.14.0","html_url":"https://github.com/pypa/twine/releases/tag/1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.14.0/manifests"},{"name":"1.13.0","sha":"c854b2a7b451bf13878f709900261dbcbaf59ca0","kind":"tag","published_at":"2019-02-13T21:37:43.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.13.0","html_url":"https://github.com/pypa/twine/releases/tag/1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.13.0/manifests"},{"name":"1.12.1","sha":"49e88ce71a72139366e48eb44ba1fdd7923ebd18","kind":"tag","published_at":"2018-09-24T18:40:53.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.12.1","html_url":"https://github.com/pypa/twine/releases/tag/1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.12.1/manifests"},{"name":"1.12.0","sha":"4df9256c24f9a40b36016a43ad138a9729f75ab8","kind":"tag","published_at":"2018-09-22T13:36:49.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.12.0","html_url":"https://github.com/pypa/twine/releases/tag/1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.12.0/manifests"},{"name":"1.11.0","sha":"550bedb051ff10f259fe91ac0753358d4c767a89","kind":"tag","published_at":"2018-03-19T23:28:56.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.11.0","html_url":"https://github.com/pypa/twine/releases/tag/1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.11.0/manifests"},{"name":"1.11.0rc1","sha":"47c28cca627bc7e9402b00c607e72d504cc02f05","kind":"tag","published_at":"2018-03-16T00:15:10.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.11.0rc1","html_url":"https://github.com/pypa/twine/releases/tag/1.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.11.0rc1/manifests"},{"name":"1.10.0","sha":"38b414b169eb49a637d071b74a2f7e2fcb010317","kind":"tag","published_at":"2018-03-07T20:52:32.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.10.0","html_url":"https://github.com/pypa/twine/releases/tag/1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.10.0/manifests"},{"name":"1.10.0rc1","sha":"2bac4203f215368066902baaec32aa62990f5cdc","kind":"tag","published_at":"2018-03-02T20:45:37.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.10.0rc1","html_url":"https://github.com/pypa/twine/releases/tag/1.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.10.0rc1/manifests"},{"name":"1.9.1","sha":"43f15053f33460f17beffd9b53977a532beff99c","kind":"tag","published_at":"2017-05-27T12:51:32.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.9.1","html_url":"https://github.com/pypa/twine/releases/tag/1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.9.1/manifests"},{"name":"1.9.0","sha":"1569f5001432e9258210da0275b9fd689241b368","kind":"tag","published_at":"2017-05-22T22:04:32.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.9.0","html_url":"https://github.com/pypa/twine/releases/tag/1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.9.0/manifests"},{"name":"1.8.1","sha":"54976918e45cd57afbe2cf74e63ef8503eb18d97","kind":"tag","published_at":"2016-08-08T10:52:23.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.8.1","html_url":"https://github.com/pypa/twine/releases/tag/1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.8.1/manifests"},{"name":"1.8.0","sha":"6fbe7e7203ca8e715c238ae081621ffb9f6fc19a","kind":"tag","published_at":"2016-08-08T10:44:41.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.8.0","html_url":"https://github.com/pypa/twine/releases/tag/1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.8.0/manifests"},{"name":"1.7.4","sha":"7089ba991bca7737184409f46f175649614b9b4c","kind":"tag","published_at":"2016-07-09T11:22:01.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.7.4","html_url":"https://github.com/pypa/twine/releases/tag/1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.4/manifests"},{"name":"1.7.3","sha":"c1975e8d9fffeda394cd8089bb15fc2f3c526846","kind":"tag","published_at":"2016-07-08T18:36:54.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.7.3","html_url":"https://github.com/pypa/twine/releases/tag/1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.3/manifests"},{"name":"1.7.2","sha":"79e0c8fe1991a6a613ff1ace107b646a6832dd5a","kind":"tag","published_at":"2016-07-05T19:07:08.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.7.2","html_url":"https://github.com/pypa/twine/releases/tag/1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.2/manifests"},{"name":"1.7.1","sha":"f94d8a16a4acbbd328dc4736757f5637d8ca0f89","kind":"tag","published_at":"2016-07-05T14:47:01.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.7.1","html_url":"https://github.com/pypa/twine/releases/tag/1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.1/manifests"},{"name":"1.7.0","sha":"33c8c55efafc3de1b573499f35fcaee4f67f2cd8","kind":"tag","published_at":"2016-07-04T23:47:23.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.7.0","html_url":"https://github.com/pypa/twine/releases/tag/1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.7.0/manifests"},{"name":"1.6.5","sha":"feca4968c427032ae513c2ba84728cea7ed043ff","kind":"tag","published_at":"2015-12-16T23:36:10.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.5","html_url":"https://github.com/pypa/twine/releases/tag/1.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.5/manifests"},{"name":"1.6.4","sha":"6d48d9741f29810a5d617f473b39825b9f315b48","kind":"tag","published_at":"2015-10-28T03:10:03.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.4","html_url":"https://github.com/pypa/twine/releases/tag/1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.4/manifests"},{"name":"1.6.3","sha":"057bd712eddfbf2526d1a7e7518aa2daa77430de","kind":"tag","published_at":"2015-10-05T12:42:51.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.3","html_url":"https://github.com/pypa/twine/releases/tag/1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.3/manifests"},{"name":"1.6.2","sha":"5c06ed2049b633fe7f0b0e27df32d2715614ab3a","kind":"tag","published_at":"2015-09-28T13:14:27.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.2","html_url":"https://github.com/pypa/twine/releases/tag/1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.2/manifests"},{"name":"1.6.1","sha":"b34f042da78aed22b6e512df61b495638b06ba03","kind":"tag","published_at":"2015-09-19T01:45:11.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.1","html_url":"https://github.com/pypa/twine/releases/tag/1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.1/manifests"},{"name":"1.6.0","sha":"734816524ea01a42bb0d3e8d21582a9d73e4ba15","kind":"tag","published_at":"2015-09-14T13:56:16.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.6.0","html_url":"https://github.com/pypa/twine/releases/tag/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.6.0/manifests"},{"name":"1.5.0","sha":"6cb70f42e3583c0d79a2e2656604bc2a1ea9b599","kind":"tag","published_at":"2015-03-11T00:28:13.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.5.0","html_url":"https://github.com/pypa/twine/releases/tag/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.5.0/manifests"},{"name":"1.4.0","sha":"6ba25d7e62475804a692e0ed07a91e8bdcb10061","kind":"tag","published_at":"2014-12-12T23:47:42.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.4.0","html_url":"https://github.com/pypa/twine/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.4.0/manifests"},{"name":"1.3.1","sha":"20c55f6d752f7920494bbcea8d5f1a5719c97d81","kind":"tag","published_at":"2014-04-20T17:48:06.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.3.1","html_url":"https://github.com/pypa/twine/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.3.1/manifests"},{"name":"1.3.0","sha":"9b859a8796fb639095547ed694643e9d4d23e3be","kind":"tag","published_at":"2014-03-31T22:57:09.000Z","download_url":"https://codeload.github.com/pypa/twine/tar.gz/1.3.0","html_url":"https://github.com/pypa/twine/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pypa%2Ftwine/tags/1.3.0/manifests"}]},"repo_metadata_updated_at":"2024-11-10T17:05:38.981Z","dependent_packages_count":5766,"downloads":21871135,"downloads_period":"last-month","dependent_repos_count":29879,"rankings":{"downloads":0.16038128529917126,"dependent_repos_count":0.042431837693286886,"dependent_packages_count":0.004933934615498475,"stargazers_count":1.7511520737327189,"forks_count":2.9678027725006757,"docker_downloads_count":0.2761029810832947,"average":0.867134147487441},"purl":"pkg:pypi/twine","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/twine","docker_dependents_count":1395,"docker_downloads_count":881649027,"usage_url":"https://repos.ecosyste.ms/usage/pypi/twine","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/twine/dependencies","status":null,"funding_links":["https://github.com/sponsors/pypa"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/twine/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/twine/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/twine/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/twine/related_packages","maintainers":[{"uuid":"jaraco","login":"jaraco","name":null,"email":null,"url":null,"packages_count":165,"html_url":"https://pypi.org/user/jaraco/","role":null,"created_at":"2023-01-30T13:26:46.853Z","updated_at":"2023-01-30T13:26:46.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jaraco/packages"},{"uuid":"graffatcolmingov","login":"graffatcolmingov","name":null,"email":null,"url":null,"packages_count":55,"html_url":"https://pypi.org/user/graffatcolmingov/","role":null,"created_at":"2023-01-30T13:26:46.752Z","updated_at":"2023-01-30T13:26:46.752Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/graffatcolmingov/packages"},{"uuid":"bhrutledge","login":"bhrutledge","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/bhrutledge/","role":null,"created_at":"2023-01-30T13:26:46.697Z","updated_at":"2023-01-30T13:26:46.697Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/bhrutledge/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690499,"maintainers_count":292846,"namespaces_count":0,"keywords_count":228675,"github":"pypi","metadata":{"funded_packages_count":48967},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-07T05:28:50.775Z","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":282,"unique_repositories_count_past_30_days":9,"recent_issues":[{"uuid":"4499864507","node_id":"PR_kwDOSkk1cs7eNDqg","number":11,"state":"open","title":"Update twine requirement from \u003e=5.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T04:39:09.000Z","updated_at":"2026-05-22T04:39:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/pixelmotionproducoes-netizen/synthia-universal-foundation/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelmotionproducoes-netizen%2Fsynthia-universal-foundation/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4466534278","node_id":"PR_kwDOR5h-Sc7chMeE","number":38,"state":"open","title":"Update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-18T05:35:39.000Z","updated_at":"2026-05-18T05:35:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/DOKOS-TAYOS/quantum-circuit-drawer/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DOKOS-TAYOS%2Fquantum-circuit-drawer/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4414399399","node_id":"PR_kwDOSJhEts7Z72sF","number":15,"state":"open","title":"deps: update twine requirement from \u003e=4.0.0 to \u003e=6.2.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":"2026-05-10T02:21:38.000Z","updated_at":"2026-05-10T14:00:43.856Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/uDosGo/Connect/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/uDosGo%2FConnect/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4367051925","node_id":"PR_kwDOQExrIM7XjRhe","number":11,"state":"open","title":"⬆ update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T23:08:09.000Z","updated_at":"2026-05-01T23:08:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/KothaGPT/kotha-workspace/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KothaGPT%2Fkotha-workspace/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4340475212","node_id":"PR_kwDORHtUC87WMkMG","number":10,"state":"closed","title":"chore(deps-dev): update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T23:31:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-28T03:55:27.000Z","updated_at":"2026-05-24T23:31:09.000Z","time_to_close":2316934,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/themayursinha/adversarial-ml-lab/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/themayursinha%2Fadversarial-ml-lab/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4339879791","node_id":"PR_kwDOP_PIas7WKokM","number":9,"state":"open","title":"build(deps-dev): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T01:19:19.000Z","updated_at":"2026-04-28T01:21:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdates the dev dependency `twine` to \u003e=6.2.0 to keep our release tooling current and improve Trusted Publishing reliability and security.\n\n- **Dependencies**\n  - Bump `twine` from \u003e=4.0.0 to \u003e=6.2.0.\n\n- **Migration**\n  - Ensure `keyring\u003e=21.2.0` is available where `twine` runs.\n  - If publishing to non-PyPI indexes, remove `--skip-existing` (no longer supported).\n\n\u003csup\u003eWritten for commit 7e26efc9b7f2ffaf19ab61dc24e4e0cb2f294f1c. Summary will update on new commits. \u003ca href=\"https://cubic.dev/pr/DiogoRibeiro7/efficient-plackett-luce/pull/9?utm_source=github\"\u003eReview in cubic\u003c/a\u003e\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/DiogoRibeiro7/efficient-plackett-luce/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiogoRibeiro7%2Fefficient-plackett-luce/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4335299003","node_id":"PR_kwDOOggUQM7V797m","number":11,"state":"open","title":"pip(deps-dev): update twine requirement from \u003e=3.4.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T11:18:44.000Z","updated_at":"2026-04-27T11:18:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"pip(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=3.4.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/3.4.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/com2cloud/botowrap/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/com2cloud%2Fbotowrap/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4333577075","node_id":"PR_kwDORM8EXs7V2SUT","number":23,"state":"open","title":"chore(deps-dev): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T06:32:51.000Z","updated_at":"2026-04-27T06:32:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/Sharmapank-j/Querty-OS/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharmapank-j%2FQuerty-OS/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4329000310","node_id":"PR_kwDOBgEVAc7VokoZ","number":1255,"state":"open","title":"build(deps-dev): bump twine from 6.1.0 to 6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T19:14:54.000Z","updated_at":"2026-04-26T05:00:42.745Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 6.1.0 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=6.1.0\u0026new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gitlabform/gitlabform/pull/1255","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabform%2Fgitlabform/issues/1255","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1255/packages"},{"uuid":"4312698372","node_id":"PR_kwDOEDksn87UzwL_","number":545,"state":"closed","title":"Update twine requirement from \u003e=6.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T08:07:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T01:02:58.000Z","updated_at":"2026-04-27T08:07:30.000Z","time_to_close":371062,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=6.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/koxudaxi/fastapi-code-generator/pull/545","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/koxudaxi%2Ffastapi-code-generator/issues/545","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/545/packages"},{"uuid":"4271996382","node_id":"PR_kwDORIIQ4s7Syseh","number":19,"state":"open","title":"Update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-15T22:08:19.000Z","updated_at":"2026-04-16T21:18:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/roboflow/rf-detr_plus/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboflow%2Frf-detr_plus/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4254506712","node_id":"PR_kwDOQWZL-s7R-OgM","number":63,"state":"open","title":"deps(deps-dev): update twine requirement from \u003c7,\u003e=6.0.0 to \u003e=6.2.0,\u003c7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T12:15:38.000Z","updated_at":"2026-04-13T12:15:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): update","packages":[{"name":"twine","old_version":"\u003c7,\u003e=6.0.0","new_version":"\u003e=6.2.0,\u003c7","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/erayguner/iam-looker/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/erayguner%2Fiam-looker/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"},{"uuid":"4253239994","node_id":"PR_kwDOQRyKf87R7nnD","number":14,"state":"open","title":"deps(deps): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":["AnnasMazhar"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T09:36:27.000Z","updated_at":"2026-04-13T09:36:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/AnnasMazhar/pyspark_mcp/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMazhar%2Fpyspark_mcp/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4247012081","node_id":"PR_kwDORVR1L87Rvl0E","number":9,"state":"open","title":"build(deps-dev): update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T07:32:57.000Z","updated_at":"2026-04-12T07:32:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/sean-sunagaku/cc-hooks-py/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sean-sunagaku%2Fcc-hooks-py/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4243604254","node_id":"PR_kwDORK6CMs7Ro-nr","number":189,"state":"open","title":"Update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T07:42:35.000Z","updated_at":"2026-04-11T07:42:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/Qredence/fleet-rlm/pull/189","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2Ffleet-rlm/issues/189","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/189/packages"},{"uuid":"4191417478","node_id":"PR_kwDORHJTxc7PcOyq","number":2,"state":"closed","title":"Bump the python-packages group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T03:11:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T04:10:35.000Z","updated_at":"2026-05-02T03:11:51.000Z","time_to_close":2588475,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":9,"packages":[{"name":"mkdocs-material","old_version":"9.6.18","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"build","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"coverage","old_version":"7.10.6","new_version":"7.10.7","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cryptography","old_version":"45.0.7","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"mypy","old_version":"1.17.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.12.11","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.39.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.18` | `9.7.6` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.2` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.6` | `7.10.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.7` | `46.0.6` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.19.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.15.8` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.39.0` |\n\n\nUpdates `mkdocs-material` from 9.6.18 to 9.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.4\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment (recommended by \u003ca href=\"https://github.com/caveeroo\"\u003e\u003ccode\u003e@​caveeroo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\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/squidfunk/mkdocs-material/commit/6c52ed6289b171a153875491f059a94819ec3e10\"\u003e\u003ccode\u003e6c52ed6\u003c/code\u003e\u003c/a\u003e Prepare 9.7.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/51d9b76636431814df924bcda27485b16023978b\"\u003e\u003ccode\u003e51d9b76\u003c/code\u003e\u003c/a\u003e Automatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6f9a48b4048650341a654d9757da57fc1e3e323d\"\u003e\u003ccode\u003e6f9a48b\u003c/code\u003e\u003c/a\u003e Updated links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/00b9933e5821fd852700268767d4fd53ae1ce1cb\"\u003e\u003ccode\u003e00b9933\u003c/code\u003e\u003c/a\u003e Prepare 9.7.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/37683d12c9cd62309aa917237741ee0886709b7c\"\u003e\u003ccode\u003e37683d1\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/199e31598055d5d6ea538618804c7558f5d81047\"\u003e\u003ccode\u003e199e315\u003c/code\u003e\u003c/a\u003e Updated warning message to clarify relation to MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/10258334eb13545e6d708cf121c3867bfbdb6017\"\u003e\u003ccode\u003e1025833\u003c/code\u003e\u003c/a\u003e Limited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1532f523f6c650c9d6fd16229ee8bec0759b4151\"\u003e\u003ccode\u003e1532f52\u003c/code\u003e\u003c/a\u003e Added update log to blog post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d0c8b2862a966f5f268d4a4c35bb4fcfccebb9b1\"\u003e\u003ccode\u003ed0c8b28\u003c/code\u003e\u003c/a\u003e Updated dependencies to fix vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/71d48699a0e2bef231e796818c4dc20b230a5f45\"\u003e\u003ccode\u003e71d4869\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.18...9.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\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/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e####################\n1.4.2 (2026-03-25)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for\nexample. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.6 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1921\"\u003ecoveragepy/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2048\"\u003ecoveragepy/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\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/coveragepy/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.6...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.7 to 46.0.6\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.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.7...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.12.11 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.11...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\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/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\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/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/69a6ae319801a5866ec07afdeb2ff3d912f4d3a0\"\u003e\u003ccode\u003e69a6ae3\u003c/code\u003e\u003c/a\u003e Improve typing in \u003ccode\u003etest_http.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2740\"\u003e#2740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/BauerJustin/encode__httpx.ae1b9f66/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BauerJustin%2Fencode__httpx.ae1b9f66/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4162088608","node_id":"PR_kwDONnmdmc7OVDSr","number":11,"state":"open","title":"chore(deps): bump the dependencies group across 1 directory with 42 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-29T00:49:15.000Z","updated_at":"2026-04-10T06:08:07.938Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":42,"packages":[{"name":"setuptools","old_version":"75.8.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"ansible-runner","old_version":"2.4.0","new_version":"2.4.3","repository_url":"https://github.com/ansible/ansible-runner"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"backrefs","old_version":"6.1","new_version":"6.2","repository_url":"https://github.com/facelessuser/backrefs"},{"name":"bcrypt","old_version":"4.2.1","new_version":"5.0.0","repository_url":"https://github.com/pyca/bcrypt"},{"name":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"certifi","old_version":"2024.12.14","new_version":"2026.2.25","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":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.0","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"docutils","old_version":"0.21.2","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jaraco-context","old_version":"6.0.1","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"keyring","old_version":"25.6.0","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"mkdocs-autorefs","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/mkdocstrings/autorefs"},{"name":"mkdocs-get-deps","old_version":"0.2.0","new_version":"0.2.2","repository_url":"https://github.com/mkdocs/get-deps"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"nh3","old_version":"0.2.20","new_version":"0.3.4","repository_url":"https://github.com/messense/nh3"},{"name":"packaging","old_version":"24.2","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"paramiko","old_version":"3.5.0","new_version":"4.0.0","repository_url":"https://github.com/paramiko/paramiko"},{"name":"pathspec","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-core","old_version":"2.33.2","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pymdown-extensions","old_version":"10.20","new_version":"10.21","repository_url":"https://github.com/facelessuser/pymdown-extensions"},{"name":"pynacl","old_version":"1.5.0","new_version":"1.6.2","repository_url":"https://github.com/pyca/pynacl"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"resolvelib","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/sarugaku/resolvelib"},{"name":"rich","old_version":"13.9.4","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"twine","old_version":"6.0.1","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"typing-inspection","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"urllib3","old_version":"2.3.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"20.36.1","new_version":"21.2.0","repository_url":"https://github.com/pypa/virtualenv"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 42 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [setuptools](https://github.com/pypa/setuptools) | `75.8.0` | `82.0.1` |\n| [ansible-runner](https://github.com/ansible/ansible-runner) | `2.4.0` | `2.4.3` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [backrefs](https://github.com/facelessuser/backrefs) | `6.1` | `6.2` |\n| [bcrypt](https://github.com/pyca/bcrypt) | `4.2.1` | `5.0.0` |\n| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2026.2.25` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.0` | `46.0.6` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22.4` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.0.1` | `6.1.1` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.4.0` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [keyring](https://github.com/jaraco/keyring) | `25.6.0` | `25.7.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) | `1.4.3` | `1.4.4` |\n| [mkdocs-get-deps](https://github.com/mkdocs/get-deps) | `0.2.0` | `0.2.2` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.6` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [nh3](https://github.com/messense/nh3) | `0.2.20` | `0.3.4` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `26.0` |\n| [paramiko](https://github.com/paramiko/paramiko) | `3.5.0` | `4.0.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `1.0.3` | `1.0.4` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.5` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.33.2` | `2.44.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) | `10.20` | `10.21` |\n| [pynacl](https://github.com/pyca/pynacl) | `1.5.0` | `1.6.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [resolvelib](https://github.com/sarugaku/resolvelib) | `1.0.1` | `1.2.1` |\n| [rich](https://github.com/Textualize/rich) | `13.9.4` | `14.3.3` |\n| [twine](https://github.com/pypa/twine) | `6.0.1` | `6.2.0` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.1` | `0.4.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.3.0` | `2.6.3` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.36.1` | `21.2.0` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n\n\nUpdates `setuptools` from 75.8.0 to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\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/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v75.8.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ansible-runner` from 2.4.0 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ansible/ansible-runner/releases\"\u003eansible-runner's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eget_option\u003c/code\u003e api from callback plugins (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1488\"\u003eansible/ansible-runner#1488\u003c/a\u003e). This fixes some problems around using custom callback plugins.\u003c/li\u003e\n\u003cli\u003eFix container --tty detection in subprocess mode (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1489\"\u003eansible/ansible-runner#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.2...2.4.3\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.2...2.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShort circuit display wrapper of the callback plugin within forks (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1414\"\u003eansible/ansible-runner#1414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove EOF log messages when streaming (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1458\"\u003eansible/ansible-runner#1458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.1...2.4.2\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.1...2.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eModify volume mount behavior when source does not exist (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1408\"\u003e#1408\u003c/a\u003e). Volumes specified using the \u003ccode\u003econtainer-volume-mount\u003c/code\u003e option will now be passed through to the underlying container engine unverified and unmodified. This now allows you to mount individual files (vs. the parent directory) and non-existing source volumes. The behavior encountered with a non-existing source volume depends on which container engine is in use (\u003ccode\u003edocker\u003c/code\u003e creates the volume, \u003ccode\u003epodman\u003c/code\u003e will error).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVarious documentation updates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.0...2.4.1\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.0...2.4.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/ansible/ansible-runner/commit/dafa5b56fdcb89b379e4d276155d8a79cfc2ad2a\"\u003e\u003ccode\u003edafa5b5\u003c/code\u003e\u003c/a\u003e 📦 Fix \u003ccode\u003esetuptools-scm\u003c/code\u003e warnings on git archival (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1492\"\u003e#1492\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/27d5fa622408ab5d81d898ce2f36ed5d441ac9b3\"\u003e\u003ccode\u003e27d5fa6\u003c/code\u003e\u003c/a\u003e Fix container --tty detection in subprocess mode (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/92d751dd18672e6c7f8d38e54aaf1267c02fd68f\"\u003e\u003ccode\u003e92d751d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_option\u003c/code\u003e api from callback plugins (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1142\"\u003e#1142\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1488\"\u003e#1488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/f9b33f3bac874204bb26dbfedc8d4921fb07d8bb\"\u003e\u003ccode\u003ef9b33f3\u003c/code\u003e\u003c/a\u003e Fix GH issue templates (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1430\"\u003e#1430\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/5e9f56bea23ccc88375830ac95f921ef74b25b07\"\u003e\u003ccode\u003e5e9f56b\u003c/code\u003e\u003c/a\u003e Fix test_invalid_registry_host() integration test (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/a098dccae910b118f140e8ab8927e608618a91ee\"\u003e\u003ccode\u003ea098dcc\u003c/code\u003e\u003c/a\u003e Clarify automount of SSH dir in docs (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/aa1d85044c197f8bd03ba1824c6de4510bab30ee\"\u003e\u003ccode\u003eaa1d850\u003c/code\u003e\u003c/a\u003e Improve EOF log messages when streaming (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1454\"\u003e#1454\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/23d1720a2f29ef2518e4bede106e88545ad2625f\"\u003e\u003ccode\u003e23d1720\u003c/code\u003e\u003c/a\u003e Fix container build cache issue (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1449\"\u003e#1449\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/342cfc58f46c6bf0b6b6f23d91b726fa27091637\"\u003e\u003ccode\u003e342cfc5\u003c/code\u003e\u003c/a\u003e Remove wheel building from CI (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/3dde1ffdeec743b07c9d3ef90c587db40bea8d62\"\u003e\u003ccode\u003e3dde1ff\u003c/code\u003e\u003c/a\u003e Change keepalive test boundary to 15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.0...2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.17.0 to 2.18.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.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! Like last year's release (ahem...), this one too is being made from FOSDEM 2026, in Brussels, Belgium. 🇧🇪\nWe'll aspire for a less glacial release cycle for 2.19. 😁\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/56c63caf50b18b152541b5dcafd51f645d867074/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for the detailed change log.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ehttps://github.com/python-babel/babel/compare/v2.17.0...v2.18.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/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.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! This release is, coincidentally, also being made from FOSDEM.\u003c/p\u003e\n\u003cp\u003eWe will aspire for a slightly less glacial release cadence in this year;\nthere are interesting features in the pipeline.\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Add `babel.core.get_cldr_version()` by @akx in :gh:`1242`\n* Core: Use CLDR 47 by @tomasr8 in :gh:`1210`\n* Core: Use canonical IANA zone names in zone_territories by @akx in :gh:`1220`\n* Messages: Improve extract performance via ignoring directories early during os.walk by @akx in :gh:`968`\n* Messages: Merge in per-format keywords and auto_comments by @akx in :gh:`1243`\n* Messages: Update keywords for extraction of dpgettext and dnpgettext by @mardiros in :gh:`1235`\n* Messages: Validate all plurals in Python format checker by @tomasr8 in :gh:`1188`\n* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @akx in :gh:`1203`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore: Fix formatting for \u0026quot;Empty locale identifier\u0026quot; exception added in \u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1164\"\u003e#1164\u003c/a\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1184\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Improve handling of no-inheritance-marker in timezone data by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1194\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Make the number pattern regular expression more efficient by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1213\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Keep translator comments next to the translation function call by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1196\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNumbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales  by \u003ca href=\"https://github.com/bartbroere\"\u003e\u003ccode\u003e@​bartbroere\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1246\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther improvements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Avoid unnecessary uses of `map()` by @akx in :gh:`1180`\n* Messages: Have init-catalog create directories too by @akx in :gh:`1244`\n* Messages: Optimizations for read_po by @akx in :gh:`1200`\n* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @akx in :gh:`1204`\n\u003cp\u003eInfrastructure and documentation\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Renovate CI \u0026amp; lint tools by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1228\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tighten up CI with Zizmor by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1230\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: make job permissions explicit by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1227\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Add SECURITY.md by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1229\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Remove u string prefix from docs by \u003ca href=\"https://github.com/verhovsky\"\u003e\u003ccode\u003e@​verhovsky\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1174\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update dates.rst with current unicode.org tr35 link by \u003ca href=\"https://github.com/clach04\"\u003e\u003ccode\u003e@​clach04\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1189\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Add some PyPI classifiers by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1186\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Apply reformatting by hand and with Ruff by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1202\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Test on and declare support for Python 3.14 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1233\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/56c63caf50b18b152541b5dcafd51f645d867074\"\u003e\u003ccode\u003e56c63ca\u003c/code\u003e\u003c/a\u003e Prepare for 2.18.0 (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/73015a1217b90398fe76dcdc3b6e110ce26eb6d3\"\u003e\u003ccode\u003e73015a1\u003c/code\u003e\u003c/a\u003e Add user-agent to CLDR downloader (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/29bd3624463f9b8694d09a308f67f353373c76af\"\u003e\u003ccode\u003e29bd362\u003c/code\u003e\u003c/a\u003e Fix formatting compact currencies of exactly one thousand in several locales ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/851db43b2b175c6bdf69ae6977cd6ad642506046\"\u003e\u003ccode\u003e851db43\u003c/code\u003e\u003c/a\u003e Reuse InitCatalog's guts in UpdateCatalog (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1244\"\u003e#1244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/fd00e60adf7e0c74821a77ff2a8b564e9985fd8e\"\u003e\u003ccode\u003efd00e60\u003c/code\u003e\u003c/a\u003e Extract: Merge in per-format keywords and auto_comments (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/12a14b6b3f09b6f5c8c745791dd4928f1d58fda0\"\u003e\u003ccode\u003e12a14b6\u003c/code\u003e\u003c/a\u003e Add dpgettext and dnpgettext support (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1235\"\u003e#1235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/7110e6206fd5ddc66db9613935fea8b8c668b7d5\"\u003e\u003ccode\u003e7110e62\u003c/code\u003e\u003c/a\u003e Use canonical IANA zone names in zone_territories (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/e91c3467b0f3bdc4433eab6820819fe69784c2bf\"\u003e\u003ccode\u003ee91c346\u003c/code\u003e\u003c/a\u003e Improve extract performance via ignoring directories early during os.walk (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/0c4f37838c3cb34cf527dd9890c1b69e98db1354\"\u003e\u003ccode\u003e0c4f378\u003c/code\u003e\u003c/a\u003e Convert Unittest testcases with setup/teardown to fixtures (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/218c96ee305aad95bccb6402af4b4be60ad17ab1\"\u003e\u003ccode\u003e218c96e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ebabel.core.get_cldr_version()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `backrefs` from 6.1 to 6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/backrefs/releases\"\u003ebackrefs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNEW\u003c/strong\u003e Add alias \u003ccode\u003eprefixmatch\u003c/code\u003e for \u003ccode\u003ematch\u003c/code\u003e in both \u003ccode\u003ebre\u003c/code\u003e and \u003ccode\u003ebregex\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/facelessuser/backrefs/commit/6f9d90d4876e22ca1e928bd2d125804f2381e5ff\"\u003e\u003ccode\u003e6f9d90d\u003c/code\u003e\u003c/a\u003e Add alias \u003ccode\u003eprefixmatch\u003c/code\u003e for \u003ccode\u003ematch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facelessuser/backrefs/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/backrefs/commit/220132ee39102b383048bbeb79b54f773c02bc1c\"\u003e\u003ccode\u003e220132e\u003c/code\u003e\u003c/a\u003e Update to a more common syntax for admonitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/backrefs/commit/56c24eb6e593c266aafc695e5114ff2c6932ced8\"\u003e\u003ccode\u003e56c24eb\u003c/code\u003e\u003c/a\u003e Update doc theme and copyright\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/backrefs/compare/6.1...6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt` from 4.2.1 to 5.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst\"\u003ebcrypt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped MSRV to 1.74.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14 and free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded support for Windows on ARM.\u003c/li\u003e\n\u003cli\u003ePassing \u003ccode\u003ehashpw\u003c/code\u003e a password longer than 72 bytes now raises a\n\u003ccode\u003eValueError\u003c/code\u003e. Previously the password was silently truncated, following the\nbehavior of the original OpenBSD \u003ccode\u003ebcrypt\u003c/code\u003e implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eWe now support free-threaded Python 3.13.\u003c/li\u003e\n\u003cli\u003eWe now support PyPy 3.11.\u003c/li\u003e\n\u003cli\u003eWe now publish wheels for free-threaded Python 3.13, for PyPy 3.11 on\n\u003ccode\u003emanylinux\u003c/code\u003e, and for ARMv7l on \u003ccode\u003emanylinux\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/pyca/bcrypt/commit/5060bce7e6c27f55e89d5b0d22b7ae0437a362f7\"\u003e\u003ccode\u003e5060bce\u003c/code\u003e\u003c/a\u003e 5.0.0 release (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/e43f568265df7e1aabbaddccc336dbf3ea675df8\"\u003e\u003ccode\u003ee43f568\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.4 to 4.3.0 (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1077\"\u003e#1077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/fc9f680a96a0d8e9df4c5a1a4d991fd961a90adb\"\u003e\u003ccode\u003efc9f680\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.175 to 0.2.176 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1075\"\u003e#1075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/633f46fbb33d8abfe5b9cb0c12eed79878fbff06\"\u003e\u003ccode\u003e633f46f\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/a2fefbbcff8d46cfd00efa8d2c13956b388d6bec\"\u003e\u003ccode\u003ea2fefbb\u003c/code\u003e\u003c/a\u003e Remove pypy310 builds (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/f60707e18f3f9728f2c6f4ce97fb8fc90721c7d3\"\u003e\u003ccode\u003ef60707e\u003c/code\u003e\u003c/a\u003e Bump wasi from 0.14.5+wasi-0.2.4 to 0.14.7+wasi-0.2.4 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/c790eed8fa205403e1ea0587cf9178e866c940f3\"\u003e\u003ccode\u003ec790eed\u003c/code\u003e\u003c/a\u003e Bump unicode-ident from 1.0.18 to 1.0.19 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/122cbdc6895fd70c044a2f4ad7845c2a56b93096\"\u003e\u003ccode\u003e122cbdc\u003c/code\u003e\u003c/a\u003e Bump target-lexicon from 0.13.2 to 0.13.3 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/2bd208d6c5cadba2f983280ec21cc8cf977904d0\"\u003e\u003ccode\u003e2bd208d\u003c/code\u003e\u003c/a\u003e Bump wasi from 0.14.4+wasi-0.2.4 to 0.14.5+wasi-0.2.4 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/e1aa9e883090e0267bd7b38964fe852f70a99b88\"\u003e\u003ccode\u003ee1aa9e8\u003c/code\u003e\u003c/a\u003e remove poinless cargo cache paths from CI (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1067\"\u003e#1067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/bcrypt/compare/4.2.1...5.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.4.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\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/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003chr /\u003e\n\u003cp\u003e1.4.2 (2026-03-25)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e==========\nBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for example. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\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/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2024.12.14 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2024.12.14...2026.02.25\"\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 `charset-normalizer` from 3.4.1 to 3.4.6\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.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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\u003c!-- 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/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.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5478b84058a2a04e2d67a5dabbe0a273706707aa\"\u003e\u003ccode\u003e5478b84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/715\"\u003e#715\u003c/a\u003e from jawah/release-3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5c0a09e2caf1b3977df691916e949e1de4b8a738\"\u003e\u003ccode\u003e5c0a09e\u003c/code\u003e\u003c/a\u003e :heavy_check_mark: add confidence for threading usage, mostly due to lru_cach...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef826b28d9f21e0059c93acc69a8bf364126c179\"\u003e\u003ccode\u003eef826b2\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5564f1aebe56584150a988f565ff69ee316dcefe\"\u003e\u003ccode\u003e5564f1a\u003c/code\u003e\u003c/a\u003e :pencil: update docs accordingly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f2cf7d86e7c3ef4b77790a754b048bfada4fd09\"\u003e\u003ccode\u003e0f2cf7d\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/54a189446becf4f2b42772f0dce89a5ef79fe8cc\"\u003e\u003ccode\u003e54a1894\u003c/code\u003e\u003c/a\u003e :bug: fix --normalize writing to wrong path with multiple files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/2177e28828bb7fcc2f1bed2a2d4463161a180812\"\u003e\u003ccode\u003e2177e28\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b2497a54ba545dae84be01649d66fd52a7fcfc2d\"\u003e\u003ccode\u003eb2497a5\u003c/code\u003e\u003c/a\u003e :bug: edge case where noise difference between two candidates can be almost i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/13a5d0b471cfb9b60b8cda84c78b7874c0267123\"\u003e\u003ccode\u003e13a5d0b\u003c/code\u003e\u003c/a\u003e :wrench: upgrade ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b9ffbd4e8314b0f733ddb34eef32d80490eb947c\"\u003e\u003ccode\u003eb9ffbd4\u003c/code\u003e\u003c/a\u003e :wrench: enable 3.14t nox mypyc session\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.1...3.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.0 to 46.0.6\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.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.0...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `docutils` from 0.21.2 to 0.22.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 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/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaraco-context` from 6.0.1 to 6.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/jaraco.context/blob/main/NEWS.rst\"\u003ejaraco-context's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev6.1.1\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch1\u003ev6.1.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIn tarfile.context, ensure that the default filter honors the data filter to avoid path traversal vulnerabilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.0.2\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\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/jaraco/jaraco.context/commit/47979d7b6a55353170f61f3e54d17f5973cb8e1c\"\u003e\u003ccode\u003e47979d7\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/35a7a79bf20a94250f2119ab087dd4c6b2c667ea\"\u003e\u003ccode\u003e35a7a79\u003c/code\u003e\u003c/a\u003e Remove Python 3.8 compatibility in the doc tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/675aaf5bfb926bdafcded1b0e08ca011d6e0f599\"\u003e\u003ccode\u003e675aaf5\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/7b26a42b525735e4085d2e994e13802ea339d5f9\"\u003e\u003ccode\u003e7b26a42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/jaraco.context/issues/18\"\u003e#18\u003c/a\u003e from jaraco/security/extraction-safety\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/398390e0ac4faf43e6449374964bbe76f0663bc1\"\u003e\u003ccode\u003e398390e\u003c/code\u003e\u003c/a\u003e Suppress failure (missed expectation) on Python 3.12.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/54a1bc6028838c102ed2c3c27dfca65afbedd326\"\u003e\u003ccode\u003e54a1bc6\u003c/code\u003e\u003c/a\u003e Use the filter argument to tarfile.extract to avoid the deprecation warning.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/7eb62b11d7071d3873facfab7361b2d2bf8a8f44\"\u003e\u003ccode\u003e7eb62b1\u003c/code\u003e\u003c/a\u003e Also extract the member, for completeness.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/3b5ac92dbc7fc13bfe89087c2ae80653314f845b\"\u003e\u003ccode\u003e3b5ac92\u003c/code\u003e\u003c/a\u003e Add another case, demonstrating legitimate use of parent dir.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/3b16eec9f80db260bd072acdb85d0bd2d530a563\"\u003e\u003ccode\u003e3b16eec\u003c/code\u003e\u003c/a\u003e In tarfile.context, ensure that the default filter honors the data filter to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/52602fa4dceb8cb0b79f7be98b3c698626eb00bb\"\u003e\u003ccode\u003e52602fa\u003c/code\u003e\u003c/a\u003e Update implementation to have different expectations for different cases.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/jaraco.context/compare/v6.0.1...v6.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaraco-functools` from 4.1.0 to 4.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/jaraco.functools/blob/main/NEWS.rst\"\u003ejaraco-functools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.4.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd noop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.3.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd none_as function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.2.1\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch1\u003ev4.2.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'passthrough' function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing \u003ccode\u003esplat\u003c/code\u003e in stubs -- by :user:\u003ccode\u003eAvasam\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jaraco/jaraco.functools/issues/29\"\u003e#29\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/jaraco/jaraco.functools/commit/b57bb859e09f10f1e2ad7e64e9d71723793517f2\"\u003e\u003ccode\u003eb57bb85\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/21bcec01fb9104296737b6ab2a7ac61d5ed68cb0\"\u003e\u003ccode\u003e21bcec0\u003c/code\u003e\u003c/a\u003e Add noop.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/105d8ca2a61e703881d60302c45a31706f441453\"\u003e\u003ccode\u003e105d8ca\u003c/code\u003e\u003c/a\u003e 👹 Feed the hobgoblins (delint).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/7f0b09aebbffd846374b2dd886035bb780d9ab20\"\u003e\u003ccode\u003e7f0b09a\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://github.com/jaraco/skeleton\"\u003ehttps://github.com/jaraco/skeleton\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/8f3d95e7db0114e26e57dd95932b141ead74f7c5\"\u003e\u003ccode\u003e8f3d95e\u003c/code\u003e\u003c/a\u003e Pin mypy on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/d47a969ed4567bbdee26034ccaaa8b8169f44fcf\"\u003e\u003ccode\u003ed47a969\u003c/code\u003e\u003c/a\u003e Specify the directory for news fragments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/9f4e0e2849659969577f40be40cabe026dd5fb0f\"\u003e\u003ccode\u003e9f4e0e2\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/680b9aeed7c2f22f7a662b8c87af013d6ec4a076\"\u003e\u003ccode\u003e680b9ae\u003c/code\u003e\u003c/a\u003e Add none_as function.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/8c5810ed39f431598f8498499e7e8fa38a8ed455\"\u003e\u003ccode\u003e8c5810e\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejaraco/skeleton#177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/04ff5549ee93f907bcebb1db570ad291ae55fd29\"\u003e\u003ccode\u003e04ff554\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejaraco/skeleton#181\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/jaraco.functools/compare/v4.1.0...v4.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jinja2` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/jinja/releases\"\u003ejinja2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 3.1.6 security release, which fixes security issues 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/Jinja2/3.1.6/\"\u003ehttps://pypi.org/project/Jinja2/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\"\u003ehttps://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\"\u003ehttps://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\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/jinja/blob/main/CHANGES.rst\"\u003ejinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2025-03-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup,\nallowing the sandbox to apply its checks. :ghsa:\u003ccode\u003ecpwx-vrp4-4pq7\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/jinja/commit/15206881c006c79667fe5154fe80c01c65410679\"\u003e\u003ccode\u003e1520688\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403\"\u003e\u003ccode\u003e90457bb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7\"\u003e\u003ccode\u003e065334d\u003c/code\u003e\u003c/a\u003e attr filter uses env.getattr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145\"\u003e\u003ccode\u003e033c200\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35\"\u003e\u003ccode\u003ebc68d4e\u003c/code\u003e\u003c/a\u003e use global contributing guide (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486\"\u003e\u003ccode\u003e247de5e\u003c/code\u003e\u003c/a\u003e use global contributing guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f\"\u003e\u003ccode\u003eab8218c\u003c/code\u003e\u003c/a\u003e use project advisory link instead of global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://g...\n\n_Description has been truncated_","html_url":"https://github.com/thesunnysinha/vm_tool/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesunnysinha%2Fvm_tool/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4102457247","node_id":"PR_kwDORT5DBc7L4qmD","number":31,"state":"closed","title":"deps: Bump twine from 6.1.0 to 6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T01:10:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-19T15:27:24.000Z","updated_at":"2026-05-18T01:10:31.000Z","time_to_close":5132578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 6.1.0 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=6.1.0\u0026new-version=6.2.0)](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 show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/anulum/scpn-control/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anulum%2Fscpn-control/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"},{"uuid":"3992426037","node_id":"PR_kwDOQDSl5M7GYggg","number":1045,"state":"open","title":"chore(deps): bump twine from 4.0.2 to 6.2.0","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-02-25T23:47:02.000Z","updated_at":"2026-02-25T23:54:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"twine","old_version":"4.0.2","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 4.0.2 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.2...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=4.0.2\u0026new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RC219805/Transformation_Portal/pull/1045","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RC219805%2FTransformation_Portal/issues/1045","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1045/packages"},{"uuid":"3982351833","node_id":"PR_kwDORV20387F3I15","number":19,"state":"open","title":"chore(deps-dev): Update twine requirement from \u003c6.0,\u003e=5.0 to \u003e=5.0,\u003c7.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T08:50:07.000Z","updated_at":"2026-02-24T08:50:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Update","packages":[{"name":"twine","old_version":"\u003c6.0,\u003e=5.0","new_version":"\u003e=5.0,\u003c7.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/metronis-space/aegis/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metronis-space%2Faegis/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}],"issue_packages":[{"old_version":"\u003e=5.0","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-05-22T04:39:09.000Z","version_change":"\u003e=5.0 → \u003e=6.2.0","issue":{"uuid":"4499864507","node_id":"PR_kwDOSkk1cs7eNDqg","number":11,"state":"open","title":"Update twine requirement from \u003e=5.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T04:39:09.000Z","updated_at":"2026-05-22T04:39:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/pixelmotionproducoes-netizen/synthia-universal-foundation/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelmotionproducoes-netizen%2Fsynthia-universal-foundation/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-05-18T05:35:39.000Z","version_change":"\u003e=5.1 → \u003e=6.2.0","issue":{"uuid":"4466534278","node_id":"PR_kwDOR5h-Sc7chMeE","number":38,"state":"open","title":"Update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-18T05:35:39.000Z","updated_at":"2026-05-18T05:35:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/DOKOS-TAYOS/quantum-circuit-drawer/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DOKOS-TAYOS%2Fquantum-circuit-drawer/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-05-10T02:21:38.000Z","version_change":"\u003e=4.0.0 → \u003e=6.2.0","issue":{"uuid":"4414399399","node_id":"PR_kwDOSJhEts7Z72sF","number":15,"state":"open","title":"deps: update twine requirement from \u003e=4.0.0 to \u003e=6.2.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":"2026-05-10T02:21:38.000Z","updated_at":"2026-05-10T14:00:43.856Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/uDosGo/Connect/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/uDosGo%2FConnect/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-05-01T23:08:09.000Z","version_change":"\u003e=5.1.1 → \u003e=6.2.0","issue":{"uuid":"4367051925","node_id":"PR_kwDOQExrIM7XjRhe","number":11,"state":"open","title":"⬆ update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T23:08:09.000Z","updated_at":"2026-05-01T23:08:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆ update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/KothaGPT/kotha-workspace/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KothaGPT%2Fkotha-workspace/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-28T03:55:27.000Z","version_change":"\u003e=5.1.1 → \u003e=6.2.0","issue":{"uuid":"4340475212","node_id":"PR_kwDORHtUC87WMkMG","number":10,"state":"closed","title":"chore(deps-dev): update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T23:31:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-28T03:55:27.000Z","updated_at":"2026-05-24T23:31:09.000Z","time_to_close":2316934,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/themayursinha/adversarial-ml-lab/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/themayursinha%2Fadversarial-ml-lab/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-28T01:19:19.000Z","version_change":"\u003e=4.0.0 → \u003e=6.2.0","issue":{"uuid":"4339879791","node_id":"PR_kwDOP_PIas7WKokM","number":9,"state":"open","title":"build(deps-dev): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T01:19:19.000Z","updated_at":"2026-04-28T01:21:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdates the dev dependency `twine` to \u003e=6.2.0 to keep our release tooling current and improve Trusted Publishing reliability and security.\n\n- **Dependencies**\n  - Bump `twine` from \u003e=4.0.0 to \u003e=6.2.0.\n\n- **Migration**\n  - Ensure `keyring\u003e=21.2.0` is available where `twine` runs.\n  - If publishing to non-PyPI indexes, remove `--skip-existing` (no longer supported).\n\n\u003csup\u003eWritten for commit 7e26efc9b7f2ffaf19ab61dc24e4e0cb2f294f1c. Summary will update on new commits. \u003ca href=\"https://cubic.dev/pr/DiogoRibeiro7/efficient-plackett-luce/pull/9?utm_source=github\"\u003eReview in cubic\u003c/a\u003e\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/DiogoRibeiro7/efficient-plackett-luce/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiogoRibeiro7%2Fefficient-plackett-luce/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"\u003e=3.4.0","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-04-27T11:18:44.000Z","version_change":"\u003e=3.4.0 → \u003e=6.2.0","issue":{"uuid":"4335299003","node_id":"PR_kwDOOggUQM7V797m","number":11,"state":"open","title":"pip(deps-dev): update twine requirement from \u003e=3.4.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T11:18:44.000Z","updated_at":"2026-04-27T11:18:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"pip(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=3.4.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/3.4.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/com2cloud/botowrap/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/com2cloud%2Fbotowrap/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-27T06:32:51.000Z","version_change":"\u003e=4.0.0 → \u003e=6.2.0","issue":{"uuid":"4333577075","node_id":"PR_kwDORM8EXs7V2SUT","number":23,"state":"open","title":"chore(deps-dev): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T06:32:51.000Z","updated_at":"2026-04-27T06:32:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/Sharmapank-j/Querty-OS/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharmapank-j%2FQuerty-OS/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"6.1.0","new_version":"6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-25T19:14:54.000Z","version_change":"6.1.0 → 6.2.0","issue":{"uuid":"4329000310","node_id":"PR_kwDOBgEVAc7VokoZ","number":1255,"state":"open","title":"build(deps-dev): bump twine from 6.1.0 to 6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T19:14:54.000Z","updated_at":"2026-04-26T05:00:42.745Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 6.1.0 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=6.1.0\u0026new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gitlabform/gitlabform/pull/1255","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabform%2Fgitlabform/issues/1255","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1255/packages"}},{"old_version":"\u003e=6.1","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-04-23T01:02:58.000Z","version_change":"\u003e=6.1 → \u003e=6.2.0","issue":{"uuid":"4312698372","node_id":"PR_kwDOEDksn87UzwL_","number":545,"state":"closed","title":"Update twine requirement from \u003e=6.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T08:07:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T01:02:58.000Z","updated_at":"2026-04-27T08:07:30.000Z","time_to_close":371062,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=6.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/koxudaxi/fastapi-code-generator/pull/545","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/koxudaxi%2Ffastapi-code-generator/issues/545","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/545/packages"}},{"old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-15T22:08:19.000Z","version_change":"\u003e=5.1.1 → \u003e=6.2.0","issue":{"uuid":"4271996382","node_id":"PR_kwDORIIQ4s7Syseh","number":19,"state":"open","title":"Update twine requirement from \u003e=5.1.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-15T22:08:19.000Z","updated_at":"2026-04-16T21:18:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/v5.1.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/roboflow/rf-detr_plus/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboflow%2Frf-detr_plus/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"\u003c7,\u003e=6.0.0","new_version":"\u003e=6.2.0,\u003c7","update_type":"minor","path":null,"pr_created_at":"2026-04-13T12:15:38.000Z","version_change":"\u003c7,\u003e=6.0.0 → \u003e=6.2.0,\u003c7","issue":{"uuid":"4254506712","node_id":"PR_kwDOQWZL-s7R-OgM","number":63,"state":"open","title":"deps(deps-dev): update twine requirement from \u003c7,\u003e=6.0.0 to \u003e=6.2.0,\u003c7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T12:15:38.000Z","updated_at":"2026-04-13T12:15:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): update","packages":[{"name":"twine","old_version":"\u003c7,\u003e=6.0.0","new_version":"\u003e=6.2.0,\u003c7","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/erayguner/iam-looker/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/erayguner%2Fiam-looker/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"}},{"old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-13T09:36:27.000Z","version_change":"\u003e=4.0.0 → \u003e=6.2.0","issue":{"uuid":"4253239994","node_id":"PR_kwDOQRyKf87R7nnD","number":14,"state":"open","title":"deps(deps): update twine requirement from \u003e=4.0.0 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":["AnnasMazhar"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T09:36:27.000Z","updated_at":"2026-04-13T09:36:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"twine","old_version":"\u003e=4.0.0","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/AnnasMazhar/pyspark_mcp/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMazhar%2Fpyspark_mcp/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-04-12T07:32:57.000Z","version_change":"\u003e=5.1 → \u003e=6.2.0","issue":{"uuid":"4247012081","node_id":"PR_kwDORVR1L87Rvl0E","number":9,"state":"open","title":"build(deps-dev): update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T07:32:57.000Z","updated_at":"2026-04-12T07:32:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/sean-sunagaku/cc-hooks-py/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sean-sunagaku%2Fcc-hooks-py/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","update_type":null,"path":null,"pr_created_at":"2026-04-11T07:42:35.000Z","version_change":"\u003e=5.1 → \u003e=6.2.0","issue":{"uuid":"4243604254","node_id":"PR_kwDORK6CMs7Ro-nr","number":189,"state":"open","title":"Update twine requirement from \u003e=5.1 to \u003e=6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T07:42:35.000Z","updated_at":"2026-04-11T07:42:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"twine","old_version":"\u003e=5.1","new_version":"\u003e=6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/Qredence/fleet-rlm/pull/189","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2Ffleet-rlm/issues/189","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/189/packages"}},{"old_version":"6.1.0","new_version":"6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-02T04:10:35.000Z","version_change":"6.1.0 → 6.2.0","issue":{"uuid":"4191417478","node_id":"PR_kwDORHJTxc7PcOyq","number":2,"state":"closed","title":"Bump the python-packages group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T03:11:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T04:10:35.000Z","updated_at":"2026-05-02T03:11:51.000Z","time_to_close":2588475,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":9,"packages":[{"name":"mkdocs-material","old_version":"9.6.18","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"build","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"coverage","old_version":"7.10.6","new_version":"7.10.7","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cryptography","old_version":"45.0.7","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"mypy","old_version":"1.17.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.12.11","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.39.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.18` | `9.7.6` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.2` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.6` | `7.10.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.7` | `46.0.6` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.19.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.11` | `0.15.8` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.39.0` |\n\n\nUpdates `mkdocs-material` from 9.6.18 to 9.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.7.4\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment (recommended by \u003ca href=\"https://github.com/caveeroo\"\u003e\u003ccode\u003e@​caveeroo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\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/squidfunk/mkdocs-material/commit/6c52ed6289b171a153875491f059a94819ec3e10\"\u003e\u003ccode\u003e6c52ed6\u003c/code\u003e\u003c/a\u003e Prepare 9.7.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/51d9b76636431814df924bcda27485b16023978b\"\u003e\u003ccode\u003e51d9b76\u003c/code\u003e\u003c/a\u003e Automatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6f9a48b4048650341a654d9757da57fc1e3e323d\"\u003e\u003ccode\u003e6f9a48b\u003c/code\u003e\u003c/a\u003e Updated links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/00b9933e5821fd852700268767d4fd53ae1ce1cb\"\u003e\u003ccode\u003e00b9933\u003c/code\u003e\u003c/a\u003e Prepare 9.7.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/37683d12c9cd62309aa917237741ee0886709b7c\"\u003e\u003ccode\u003e37683d1\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/199e31598055d5d6ea538618804c7558f5d81047\"\u003e\u003ccode\u003e199e315\u003c/code\u003e\u003c/a\u003e Updated warning message to clarify relation to MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/10258334eb13545e6d708cf121c3867bfbdb6017\"\u003e\u003ccode\u003e1025833\u003c/code\u003e\u003c/a\u003e Limited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/1532f523f6c650c9d6fd16229ee8bec0759b4151\"\u003e\u003ccode\u003e1532f52\u003c/code\u003e\u003c/a\u003e Added update log to blog post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d0c8b2862a966f5f268d4a4c35bb4fcfccebb9b1\"\u003e\u003ccode\u003ed0c8b28\u003c/code\u003e\u003c/a\u003e Updated dependencies to fix vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/71d48699a0e2bef231e796818c4dc20b230a5f45\"\u003e\u003ccode\u003e71d4869\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.18...9.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\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/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e####################\n1.4.2 (2026-03-25)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for\nexample. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twine` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.6 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1921\"\u003ecoveragepy/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2048\"\u003ecoveragepy/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\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/coveragepy/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.6...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.7 to 46.0.6\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.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.7...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.12.11 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.11...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\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/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\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/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/69a6ae319801a5866ec07afdeb2ff3d912f4d3a0\"\u003e\u003ccode\u003e69a6ae3\u003c/code\u003e\u003c/a\u003e Improve typing in \u003ccode\u003etest_http.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2740\"\u003e#2740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/BauerJustin/encode__httpx.ae1b9f66/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BauerJustin%2Fencode__httpx.ae1b9f66/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"6.0.1","new_version":"6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-03-29T00:49:15.000Z","version_change":"6.0.1 → 6.2.0","issue":{"uuid":"4162088608","node_id":"PR_kwDONnmdmc7OVDSr","number":11,"state":"open","title":"chore(deps): bump the dependencies group across 1 directory with 42 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-29T00:49:15.000Z","updated_at":"2026-04-10T06:08:07.938Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":42,"packages":[{"name":"setuptools","old_version":"75.8.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"ansible-runner","old_version":"2.4.0","new_version":"2.4.3","repository_url":"https://github.com/ansible/ansible-runner"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"backrefs","old_version":"6.1","new_version":"6.2","repository_url":"https://github.com/facelessuser/backrefs"},{"name":"bcrypt","old_version":"4.2.1","new_version":"5.0.0","repository_url":"https://github.com/pyca/bcrypt"},{"name":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"certifi","old_version":"2024.12.14","new_version":"2026.2.25","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":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.0","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"docutils","old_version":"0.21.2","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jaraco-context","old_version":"6.0.1","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"keyring","old_version":"25.6.0","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"mkdocs-autorefs","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/mkdocstrings/autorefs"},{"name":"mkdocs-get-deps","old_version":"0.2.0","new_version":"0.2.2","repository_url":"https://github.com/mkdocs/get-deps"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"nh3","old_version":"0.2.20","new_version":"0.3.4","repository_url":"https://github.com/messense/nh3"},{"name":"packaging","old_version":"24.2","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"paramiko","old_version":"3.5.0","new_version":"4.0.0","repository_url":"https://github.com/paramiko/paramiko"},{"name":"pathspec","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-core","old_version":"2.33.2","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pymdown-extensions","old_version":"10.20","new_version":"10.21","repository_url":"https://github.com/facelessuser/pymdown-extensions"},{"name":"pynacl","old_version":"1.5.0","new_version":"1.6.2","repository_url":"https://github.com/pyca/pynacl"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"resolvelib","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/sarugaku/resolvelib"},{"name":"rich","old_version":"13.9.4","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"twine","old_version":"6.0.1","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"typing-inspection","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"urllib3","old_version":"2.3.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"20.36.1","new_version":"21.2.0","repository_url":"https://github.com/pypa/virtualenv"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 42 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [setuptools](https://github.com/pypa/setuptools) | `75.8.0` | `82.0.1` |\n| [ansible-runner](https://github.com/ansible/ansible-runner) | `2.4.0` | `2.4.3` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [backrefs](https://github.com/facelessuser/backrefs) | `6.1` | `6.2` |\n| [bcrypt](https://github.com/pyca/bcrypt) | `4.2.1` | `5.0.0` |\n| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2026.2.25` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.0` | `46.0.6` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22.4` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.0.1` | `6.1.1` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.4.0` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [keyring](https://github.com/jaraco/keyring) | `25.6.0` | `25.7.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) | `1.4.3` | `1.4.4` |\n| [mkdocs-get-deps](https://github.com/mkdocs/get-deps) | `0.2.0` | `0.2.2` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.6` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [nh3](https://github.com/messense/nh3) | `0.2.20` | `0.3.4` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `26.0` |\n| [paramiko](https://github.com/paramiko/paramiko) | `3.5.0` | `4.0.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `1.0.3` | `1.0.4` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.5` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.33.2` | `2.44.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) | `10.20` | `10.21` |\n| [pynacl](https://github.com/pyca/pynacl) | `1.5.0` | `1.6.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [resolvelib](https://github.com/sarugaku/resolvelib) | `1.0.1` | `1.2.1` |\n| [rich](https://github.com/Textualize/rich) | `13.9.4` | `14.3.3` |\n| [twine](https://github.com/pypa/twine) | `6.0.1` | `6.2.0` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.1` | `0.4.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.3.0` | `2.6.3` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.36.1` | `21.2.0` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n\n\nUpdates `setuptools` from 75.8.0 to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\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/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v75.8.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ansible-runner` from 2.4.0 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ansible/ansible-runner/releases\"\u003eansible-runner's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eget_option\u003c/code\u003e api from callback plugins (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1488\"\u003eansible/ansible-runner#1488\u003c/a\u003e). This fixes some problems around using custom callback plugins.\u003c/li\u003e\n\u003cli\u003eFix container --tty detection in subprocess mode (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1489\"\u003eansible/ansible-runner#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.2...2.4.3\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.2...2.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShort circuit display wrapper of the callback plugin within forks (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1414\"\u003eansible/ansible-runner#1414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove EOF log messages when streaming (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/pull/1458\"\u003eansible/ansible-runner#1458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.1...2.4.2\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.1...2.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eModify volume mount behavior when source does not exist (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1408\"\u003e#1408\u003c/a\u003e). Volumes specified using the \u003ccode\u003econtainer-volume-mount\u003c/code\u003e option will now be passed through to the underlying container engine unverified and unmodified. This now allows you to mount individual files (vs. the parent directory) and non-existing source volumes. The behavior encountered with a non-existing source volume depends on which container engine is in use (\u003ccode\u003edocker\u003c/code\u003e creates the volume, \u003ccode\u003epodman\u003c/code\u003e will error).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVarious documentation updates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.0...2.4.1\"\u003ehttps://github.com/ansible/ansible-runner/compare/2.4.0...2.4.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/ansible/ansible-runner/commit/dafa5b56fdcb89b379e4d276155d8a79cfc2ad2a\"\u003e\u003ccode\u003edafa5b5\u003c/code\u003e\u003c/a\u003e 📦 Fix \u003ccode\u003esetuptools-scm\u003c/code\u003e warnings on git archival (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1492\"\u003e#1492\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/27d5fa622408ab5d81d898ce2f36ed5d441ac9b3\"\u003e\u003ccode\u003e27d5fa6\u003c/code\u003e\u003c/a\u003e Fix container --tty detection in subprocess mode (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/92d751dd18672e6c7f8d38e54aaf1267c02fd68f\"\u003e\u003ccode\u003e92d751d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_option\u003c/code\u003e api from callback plugins (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1142\"\u003e#1142\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1488\"\u003e#1488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/f9b33f3bac874204bb26dbfedc8d4921fb07d8bb\"\u003e\u003ccode\u003ef9b33f3\u003c/code\u003e\u003c/a\u003e Fix GH issue templates (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1430\"\u003e#1430\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/5e9f56bea23ccc88375830ac95f921ef74b25b07\"\u003e\u003ccode\u003e5e9f56b\u003c/code\u003e\u003c/a\u003e Fix test_invalid_registry_host() integration test (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/a098dccae910b118f140e8ab8927e608618a91ee\"\u003e\u003ccode\u003ea098dcc\u003c/code\u003e\u003c/a\u003e Clarify automount of SSH dir in docs (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/aa1d85044c197f8bd03ba1824c6de4510bab30ee\"\u003e\u003ccode\u003eaa1d850\u003c/code\u003e\u003c/a\u003e Improve EOF log messages when streaming (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1454\"\u003e#1454\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/23d1720a2f29ef2518e4bede106e88545ad2625f\"\u003e\u003ccode\u003e23d1720\u003c/code\u003e\u003c/a\u003e Fix container build cache issue (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1449\"\u003e#1449\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/342cfc58f46c6bf0b6b6f23d91b726fa27091637\"\u003e\u003ccode\u003e342cfc5\u003c/code\u003e\u003c/a\u003e Remove wheel building from CI (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/ansible/ansible-runner/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ansible/ansible-runner/commit/3dde1ffdeec743b07c9d3ef90c587db40bea8d62\"\u003e\u003ccode\u003e3dde1ff\u003c/code\u003e\u003c/a\u003e Change keepalive test boundary to 15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ansible/ansible-runner/compare/2.4.0...2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel` from 2.17.0 to 2.18.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.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! Like last year's release (ahem...), this one too is being made from FOSDEM 2026, in Brussels, Belgium. 🇧🇪\nWe'll aspire for a less glacial release cycle for 2.19. 😁\u003c/p\u003e\n\u003cp\u003ePlease see \u003ca href=\"https://github.com/python-babel/babel/blob/56c63caf50b18b152541b5dcafd51f645d867074/CHANGES.rst\"\u003eCHANGELOG.rst\u003c/a\u003e for the detailed change log.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ehttps://github.com/python-babel/babel/compare/v2.17.0...v2.18.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/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.18.0\u003c/h2\u003e\n\u003cp\u003eHappy 2026! This release is, coincidentally, also being made from FOSDEM.\u003c/p\u003e\n\u003cp\u003eWe will aspire for a slightly less glacial release cadence in this year;\nthere are interesting features in the pipeline.\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Add `babel.core.get_cldr_version()` by @akx in :gh:`1242`\n* Core: Use CLDR 47 by @tomasr8 in :gh:`1210`\n* Core: Use canonical IANA zone names in zone_territories by @akx in :gh:`1220`\n* Messages: Improve extract performance via ignoring directories early during os.walk by @akx in :gh:`968`\n* Messages: Merge in per-format keywords and auto_comments by @akx in :gh:`1243`\n* Messages: Update keywords for extraction of dpgettext and dnpgettext by @mardiros in :gh:`1235`\n* Messages: Validate all plurals in Python format checker by @tomasr8 in :gh:`1188`\n* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @akx in :gh:`1203`\n\u003cp\u003eBugfixes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore: Fix formatting for \u0026quot;Empty locale identifier\u0026quot; exception added in \u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1164\"\u003e#1164\u003c/a\u003e by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1184\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Improve handling of no-inheritance-marker in timezone data by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1194\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCore: Make the number pattern regular expression more efficient by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1213\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMessages: Keep translator comments next to the translation function call by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1196\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNumbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales  by \u003ca href=\"https://github.com/bartbroere\"\u003e\u003ccode\u003e@​bartbroere\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1246\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther improvements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Core: Avoid unnecessary uses of `map()` by @akx in :gh:`1180`\n* Messages: Have init-catalog create directories too by @akx in :gh:`1244`\n* Messages: Optimizations for read_po by @akx in :gh:`1200`\n* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @akx in :gh:`1204`\n\u003cp\u003eInfrastructure and documentation\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Renovate CI \u0026amp; lint tools by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1228\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tighten up CI with Zizmor by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1230\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCI: make job permissions explicit by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1227\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Add SECURITY.md by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1229\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Remove u string prefix from docs by \u003ca href=\"https://github.com/verhovsky\"\u003e\u003ccode\u003e@​verhovsky\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1174\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update dates.rst with current unicode.org tr35 link by \u003ca href=\"https://github.com/clach04\"\u003e\u003ccode\u003e@​clach04\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1189\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Add some PyPI classifiers by \u003ca href=\"https://github.com/tomasr8\"\u003e\u003ccode\u003e@​tomasr8\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1186\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Apply reformatting by hand and with Ruff by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1202\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGeneral: Test on and declare support for Python 3.14 by \u003ca href=\"https://github.com/akx\"\u003e\u003ccode\u003e@​akx\u003c/code\u003e\u003c/a\u003e in :gh:\u003ccode\u003e1233\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/56c63caf50b18b152541b5dcafd51f645d867074\"\u003e\u003ccode\u003e56c63ca\u003c/code\u003e\u003c/a\u003e Prepare for 2.18.0 (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/73015a1217b90398fe76dcdc3b6e110ce26eb6d3\"\u003e\u003ccode\u003e73015a1\u003c/code\u003e\u003c/a\u003e Add user-agent to CLDR downloader (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/29bd3624463f9b8694d09a308f67f353373c76af\"\u003e\u003ccode\u003e29bd362\u003c/code\u003e\u003c/a\u003e Fix formatting compact currencies of exactly one thousand in several locales ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/851db43b2b175c6bdf69ae6977cd6ad642506046\"\u003e\u003ccode\u003e851db43\u003c/code\u003e\u003c/a\u003e Reuse InitCatalog's guts in UpdateCatalog (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1244\"\u003e#1244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/fd00e60adf7e0c74821a77ff2a8b564e9985fd8e\"\u003e\u003ccode\u003efd00e60\u003c/code\u003e\u003c/a\u003e Extract: Merge in per-format keywords and auto_comments (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/12a14b6b3f09b6f5c8c745791dd4928f1d58fda0\"\u003e\u003ccode\u003e12a14b6\u003c/code\u003e\u003c/a\u003e Add dpgettext and dnpgettext support (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1235\"\u003e#1235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/7110e6206fd5ddc66db9613935fea8b8c668b7d5\"\u003e\u003ccode\u003e7110e62\u003c/code\u003e\u003c/a\u003e Use canonical IANA zone names in zone_territories (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/e91c3467b0f3bdc4433eab6820819fe69784c2bf\"\u003e\u003ccode\u003ee91c346\u003c/code\u003e\u003c/a\u003e Improve extract performance via ignoring directories early during os.walk (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/0c4f37838c3cb34cf527dd9890c1b69e98db1354\"\u003e\u003ccode\u003e0c4f378\u003c/code\u003e\u003c/a\u003e Convert Unittest testcases with setup/teardown to fixtures (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-babel/babel/commit/218c96ee305aad95bccb6402af4b4be60ad17ab1\"\u003e\u003ccode\u003e218c96e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ebabel.core.get_cldr_version()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-babel/babel/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `backrefs` from 6.1 to 6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/backrefs/releases\"\u003ebackrefs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNEW\u003c/strong\u003e Add alias \u003ccode\u003eprefixmatch\u003c/code\u003e for \u003ccode\u003ematch\u003c/code\u003e in both \u003ccode\u003ebre\u003c/code\u003e and \u003ccode\u003ebregex\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/facelessuser/backrefs/commit/6f9d90d4876e22ca1e928bd2d125804f2381e5ff\"\u003e\u003ccode\u003e6f9d90d\u003c/code\u003e\u003c/a\u003e Add alias \u003ccode\u003eprefixmatch\u003c/code\u003e for \u003ccode\u003ematch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facelessuser/backrefs/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/backrefs/commit/220132ee39102b383048bbeb79b54f773c02bc1c\"\u003e\u003ccode\u003e220132e\u003c/code\u003e\u003c/a\u003e Update to a more common syntax for admonitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/backrefs/commit/56c24eb6e593c266aafc695e5114ff2c6932ced8\"\u003e\u003ccode\u003e56c24eb\u003c/code\u003e\u003c/a\u003e Update doc theme and copyright\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/backrefs/compare/6.1...6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt` from 4.2.1 to 5.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst\"\u003ebcrypt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped MSRV to 1.74.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14 and free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded support for Windows on ARM.\u003c/li\u003e\n\u003cli\u003ePassing \u003ccode\u003ehashpw\u003c/code\u003e a password longer than 72 bytes now raises a\n\u003ccode\u003eValueError\u003c/code\u003e. Previously the password was silently truncated, following the\nbehavior of the original OpenBSD \u003ccode\u003ebcrypt\u003c/code\u003e implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eWe now support free-threaded Python 3.13.\u003c/li\u003e\n\u003cli\u003eWe now support PyPy 3.11.\u003c/li\u003e\n\u003cli\u003eWe now publish wheels for free-threaded Python 3.13, for PyPy 3.11 on\n\u003ccode\u003emanylinux\u003c/code\u003e, and for ARMv7l on \u003ccode\u003emanylinux\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/pyca/bcrypt/commit/5060bce7e6c27f55e89d5b0d22b7ae0437a362f7\"\u003e\u003ccode\u003e5060bce\u003c/code\u003e\u003c/a\u003e 5.0.0 release (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/e43f568265df7e1aabbaddccc336dbf3ea675df8\"\u003e\u003ccode\u003ee43f568\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.4 to 4.3.0 (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1077\"\u003e#1077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/fc9f680a96a0d8e9df4c5a1a4d991fd961a90adb\"\u003e\u003ccode\u003efc9f680\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.175 to 0.2.176 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1075\"\u003e#1075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/633f46fbb33d8abfe5b9cb0c12eed79878fbff06\"\u003e\u003ccode\u003e633f46f\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/a2fefbbcff8d46cfd00efa8d2c13956b388d6bec\"\u003e\u003ccode\u003ea2fefbb\u003c/code\u003e\u003c/a\u003e Remove pypy310 builds (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/f60707e18f3f9728f2c6f4ce97fb8fc90721c7d3\"\u003e\u003ccode\u003ef60707e\u003c/code\u003e\u003c/a\u003e Bump wasi from 0.14.5+wasi-0.2.4 to 0.14.7+wasi-0.2.4 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/c790eed8fa205403e1ea0587cf9178e866c940f3\"\u003e\u003ccode\u003ec790eed\u003c/code\u003e\u003c/a\u003e Bump unicode-ident from 1.0.18 to 1.0.19 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/122cbdc6895fd70c044a2f4ad7845c2a56b93096\"\u003e\u003ccode\u003e122cbdc\u003c/code\u003e\u003c/a\u003e Bump target-lexicon from 0.13.2 to 0.13.3 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/2bd208d6c5cadba2f983280ec21cc8cf977904d0\"\u003e\u003ccode\u003e2bd208d\u003c/code\u003e\u003c/a\u003e Bump wasi from 0.14.4+wasi-0.2.4 to 0.14.5+wasi-0.2.4 in /src/_bcrypt (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/bcrypt/commit/e1aa9e883090e0267bd7b38964fe852f70a99b88\"\u003e\u003ccode\u003ee1aa9e8\u003c/code\u003e\u003c/a\u003e remove poinless cargo cache paths from CI (\u003ca href=\"https://redirect.github.com/pyca/bcrypt/issues/1067\"\u003e#1067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/bcrypt/compare/4.2.1...5.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.4.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\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/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003chr /\u003e\n\u003cp\u003e1.4.2 (2026-03-25)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e==========\nBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for example. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\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/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2024.12.14 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2024.12.14...2026.02.25\"\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 `charset-normalizer` from 3.4.1 to 3.4.6\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.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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\u003c!-- 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/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.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5478b84058a2a04e2d67a5dabbe0a273706707aa\"\u003e\u003ccode\u003e5478b84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/715\"\u003e#715\u003c/a\u003e from jawah/release-3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5c0a09e2caf1b3977df691916e949e1de4b8a738\"\u003e\u003ccode\u003e5c0a09e\u003c/code\u003e\u003c/a\u003e :heavy_check_mark: add confidence for threading usage, mostly due to lru_cach...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef826b28d9f21e0059c93acc69a8bf364126c179\"\u003e\u003ccode\u003eef826b2\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5564f1aebe56584150a988f565ff69ee316dcefe\"\u003e\u003ccode\u003e5564f1a\u003c/code\u003e\u003c/a\u003e :pencil: update docs accordingly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f2cf7d86e7c3ef4b77790a754b048bfada4fd09\"\u003e\u003ccode\u003e0f2cf7d\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/54a189446becf4f2b42772f0dce89a5ef79fe8cc\"\u003e\u003ccode\u003e54a1894\u003c/code\u003e\u003c/a\u003e :bug: fix --normalize writing to wrong path with multiple files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/2177e28828bb7fcc2f1bed2a2d4463161a180812\"\u003e\u003ccode\u003e2177e28\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b2497a54ba545dae84be01649d66fd52a7fcfc2d\"\u003e\u003ccode\u003eb2497a5\u003c/code\u003e\u003c/a\u003e :bug: edge case where noise difference between two candidates can be almost i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/13a5d0b471cfb9b60b8cda84c78b7874c0267123\"\u003e\u003ccode\u003e13a5d0b\u003c/code\u003e\u003c/a\u003e :wrench: upgrade ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b9ffbd4e8314b0f733ddb34eef32d80490eb947c\"\u003e\u003ccode\u003eb9ffbd4\u003c/code\u003e\u003c/a\u003e :wrench: enable 3.14t nox mypyc session\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.1...3.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.0 to 46.0.6\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.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.0...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `docutils` from 0.21.2 to 0.22.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 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/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaraco-context` from 6.0.1 to 6.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/jaraco.context/blob/main/NEWS.rst\"\u003ejaraco-context's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev6.1.1\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch1\u003ev6.1.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIn tarfile.context, ensure that the default filter honors the data filter to avoid path traversal vulnerabilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.0.2\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\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/jaraco/jaraco.context/commit/47979d7b6a55353170f61f3e54d17f5973cb8e1c\"\u003e\u003ccode\u003e47979d7\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/35a7a79bf20a94250f2119ab087dd4c6b2c667ea\"\u003e\u003ccode\u003e35a7a79\u003c/code\u003e\u003c/a\u003e Remove Python 3.8 compatibility in the doc tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/675aaf5bfb926bdafcded1b0e08ca011d6e0f599\"\u003e\u003ccode\u003e675aaf5\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/7b26a42b525735e4085d2e994e13802ea339d5f9\"\u003e\u003ccode\u003e7b26a42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/jaraco.context/issues/18\"\u003e#18\u003c/a\u003e from jaraco/security/extraction-safety\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/398390e0ac4faf43e6449374964bbe76f0663bc1\"\u003e\u003ccode\u003e398390e\u003c/code\u003e\u003c/a\u003e Suppress failure (missed expectation) on Python 3.12.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/54a1bc6028838c102ed2c3c27dfca65afbedd326\"\u003e\u003ccode\u003e54a1bc6\u003c/code\u003e\u003c/a\u003e Use the filter argument to tarfile.extract to avoid the deprecation warning.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/7eb62b11d7071d3873facfab7361b2d2bf8a8f44\"\u003e\u003ccode\u003e7eb62b1\u003c/code\u003e\u003c/a\u003e Also extract the member, for completeness.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/3b5ac92dbc7fc13bfe89087c2ae80653314f845b\"\u003e\u003ccode\u003e3b5ac92\u003c/code\u003e\u003c/a\u003e Add another case, demonstrating legitimate use of parent dir.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/3b16eec9f80db260bd072acdb85d0bd2d530a563\"\u003e\u003ccode\u003e3b16eec\u003c/code\u003e\u003c/a\u003e In tarfile.context, ensure that the default filter honors the data filter to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.context/commit/52602fa4dceb8cb0b79f7be98b3c698626eb00bb\"\u003e\u003ccode\u003e52602fa\u003c/code\u003e\u003c/a\u003e Update implementation to have different expectations for different cases.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/jaraco.context/compare/v6.0.1...v6.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaraco-functools` from 4.1.0 to 4.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/jaraco.functools/blob/main/NEWS.rst\"\u003ejaraco-functools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.4.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd noop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.3.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd none_as function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.2.1\u003c/h1\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch1\u003ev4.2.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'passthrough' function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing \u003ccode\u003esplat\u003c/code\u003e in stubs -- by :user:\u003ccode\u003eAvasam\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jaraco/jaraco.functools/issues/29\"\u003e#29\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/jaraco/jaraco.functools/commit/b57bb859e09f10f1e2ad7e64e9d71723793517f2\"\u003e\u003ccode\u003eb57bb85\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/21bcec01fb9104296737b6ab2a7ac61d5ed68cb0\"\u003e\u003ccode\u003e21bcec0\u003c/code\u003e\u003c/a\u003e Add noop.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/105d8ca2a61e703881d60302c45a31706f441453\"\u003e\u003ccode\u003e105d8ca\u003c/code\u003e\u003c/a\u003e 👹 Feed the hobgoblins (delint).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/7f0b09aebbffd846374b2dd886035bb780d9ab20\"\u003e\u003ccode\u003e7f0b09a\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://github.com/jaraco/skeleton\"\u003ehttps://github.com/jaraco/skeleton\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/8f3d95e7db0114e26e57dd95932b141ead74f7c5\"\u003e\u003ccode\u003e8f3d95e\u003c/code\u003e\u003c/a\u003e Pin mypy on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/d47a969ed4567bbdee26034ccaaa8b8169f44fcf\"\u003e\u003ccode\u003ed47a969\u003c/code\u003e\u003c/a\u003e Specify the directory for news fragments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/9f4e0e2849659969577f40be40cabe026dd5fb0f\"\u003e\u003ccode\u003e9f4e0e2\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/680b9aeed7c2f22f7a662b8c87af013d6ec4a076\"\u003e\u003ccode\u003e680b9ae\u003c/code\u003e\u003c/a\u003e Add none_as function.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/8c5810ed39f431598f8498499e7e8fa38a8ed455\"\u003e\u003ccode\u003e8c5810e\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejaraco/skeleton#177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/jaraco.functools/commit/04ff5549ee93f907bcebb1db570ad291ae55fd29\"\u003e\u003ccode\u003e04ff554\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejaraco/skeleton#181\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/jaraco.functools/compare/v4.1.0...v4.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jinja2` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/jinja/releases\"\u003ejinja2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 3.1.6 security release, which fixes security issues 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/Jinja2/3.1.6/\"\u003ehttps://pypi.org/project/Jinja2/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\"\u003ehttps://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\"\u003ehttps://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\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/jinja/blob/main/CHANGES.rst\"\u003ejinja2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2025-03-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup,\nallowing the sandbox to apply its checks. :ghsa:\u003ccode\u003ecpwx-vrp4-4pq7\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/jinja/commit/15206881c006c79667fe5154fe80c01c65410679\"\u003e\u003ccode\u003e1520688\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403\"\u003e\u003ccode\u003e90457bb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7\"\u003e\u003ccode\u003e065334d\u003c/code\u003e\u003c/a\u003e attr filter uses env.getattr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145\"\u003e\u003ccode\u003e033c200\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35\"\u003e\u003ccode\u003ebc68d4e\u003c/code\u003e\u003c/a\u003e use global contributing guide (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486\"\u003e\u003ccode\u003e247de5e\u003c/code\u003e\u003c/a\u003e use global contributing guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f\"\u003e\u003ccode\u003eab8218c\u003c/code\u003e\u003c/a\u003e use project advisory link instead of global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://g...\n\n_Description has been truncated_","html_url":"https://github.com/thesunnysinha/vm_tool/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesunnysinha%2Fvm_tool/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"6.1.0","new_version":"6.2.0","update_type":"minor","path":null,"pr_created_at":"2026-03-19T15:27:24.000Z","version_change":"6.1.0 → 6.2.0","issue":{"uuid":"4102457247","node_id":"PR_kwDORT5DBc7L4qmD","number":31,"state":"closed","title":"deps: Bump twine from 6.1.0 to 6.2.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T01:10:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-19T15:27:24.000Z","updated_at":"2026-05-18T01:10:31.000Z","time_to_close":5132578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: Bump","packages":[{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 6.1.0 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=6.1.0\u0026new-version=6.2.0)](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 show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/anulum/scpn-control/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anulum%2Fscpn-control/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}},{"old_version":"4.0.2","new_version":"6.2.0","update_type":"major","path":null,"pr_created_at":"2026-02-25T23:47:02.000Z","version_change":"4.0.2 → 6.2.0","issue":{"uuid":"3992426037","node_id":"PR_kwDOQDSl5M7GYggg","number":1045,"state":"open","title":"chore(deps): bump twine from 4.0.2 to 6.2.0","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-02-25T23:47:02.000Z","updated_at":"2026-02-25T23:54:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"twine","old_version":"4.0.2","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Bumps [twine](https://github.com/pypa/twine) from 4.0.2 to 6.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/4.0.2...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=twine\u0026package-manager=pip\u0026previous-version=4.0.2\u0026new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RC219805/Transformation_Portal/pull/1045","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RC219805%2FTransformation_Portal/issues/1045","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1045/packages"}},{"old_version":"\u003c6.0,\u003e=5.0","new_version":"\u003e=5.0,\u003c7.0","update_type":null,"path":null,"pr_created_at":"2026-02-24T08:50:07.000Z","version_change":"\u003c6.0,\u003e=5.0 → \u003e=5.0,\u003c7.0","issue":{"uuid":"3982351833","node_id":"PR_kwDORV20387F3I15","number":19,"state":"open","title":"chore(deps-dev): Update twine requirement from \u003c6.0,\u003e=5.0 to \u003e=5.0,\u003c7.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T08:50:07.000Z","updated_at":"2026-02-24T08:50:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Update","packages":[{"name":"twine","old_version":"\u003c6.0,\u003e=5.0","new_version":"\u003e=5.0,\u003c7.0","repository_url":"https://github.com/pypa/twine"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/twine/blob/main/docs/changelog.rst\"\u003etwine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etwine 6.2.0 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eFeatures\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAutomatically refresh short-lived PyPI token in long running Trusted\nPublishing uploads.\u003c/p\u003e\n\u003cp\u003eIn the event that a trusted publishing upload job is taking longer than the\nvalidity period of a trusted publishing token (15 minutes at the time of this\nwriting), \u003cem\u003eand\u003c/em\u003e we are already 10 minutes into that validity period, we will\nbegin to attempt to replace the token on each subsequent request. (\u003ccode\u003e[#1246](https://github.com/pypa/twine/issues/1246) \u0026lt;https://github.com/pypa/twine/issues/1246\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBugfixes\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility kludge for invalid License-File metadata entries emitted by\nbuild backends to work also with \u003ccode\u003epackaging\u003c/code\u003e version 24.0. (\u003ccode\u003e[#1217](https://github.com/pypa/twine/issues/1217) \u0026lt;https://github.com/pypa/twine/issues/1217\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a couple of incorrectly rendered error messages. (\u003ccode\u003e[#1224](https://github.com/pypa/twine/issues/1224) \u0026lt;https://github.com/pypa/twine/issues/1224\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now enforces \u003ccode\u003ekeyring \u0026gt;= 21.2.0\u003c/code\u003e, which was previously\nimplicitly required by API usage. (\u003ccode\u003e[#1229](https://github.com/pypa/twine/issues/1229) \u0026lt;https://github.com/pypa/twine/issues/1229\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etwine\u003c/code\u003e now catches \u003ccode\u003econfigparser.Error\u003c/code\u003e to prevent accidental\nleaks of secret tokens or passwords to the user's console. (\u003ccode\u003e[#1240](https://github.com/pypa/twine/issues/1240) \u0026lt;https://github.com/pypa/twine/issues/1240\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations and Removals\n^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove hacks that support \u003ccode\u003e--skip-existing\u003c/code\u003e for indexes other than PyPI and\nTestPyPI.\u003c/p\u003e\n\u003cp\u003eTo date, these hacks continue to accrue and there have been numerous issues\nwith them, not the least of which being that every time we update them, the\npaid index providers change things to break the compatibility we implement\nfor them. Beyond that, these hacks do not work when text is internationalized\nin the response from the index provider.\u003c/p\u003e\n\u003cp\u003eFor a sample of past issues, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1251\"\u003epypa/twine#1251\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/918\"\u003epypa/twine#918\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/856\"\u003epypa/twine#856\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/693\"\u003epypa/twine#693\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pypa/twine/issues/332\"\u003epypa/twine#332\u003c/a\u003e (\u003ccode\u003e[#1251](https://github.com/pypa/twine/issues/1251) \u0026lt;https://github.com/pypa/twine/issues/1251\u0026gt;\u003c/code\u003e_)\u003c/p\u003e\n\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/pypa/twine/commit/14ceb29585a54f679e415b351aece2acc19aa4b2\"\u003e\u003ccode\u003e14ceb29\u003c/code\u003e\u003c/a\u003e Update changelog for 6.2.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1264\"\u003e#1264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/60e377bd5b340b90504c9e4e976eae926d9c9ddc\"\u003e\u003ccode\u003e60e377b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/88821f278022011496c0ccb0d8ae40ab9d6c5c3d\"\u003e\u003ccode\u003e88821f2\u003c/code\u003e\u003c/a\u003e feat(package): remove MD5 hashing entirely (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1262\"\u003e#1262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/ce5fe530511c13816e51dbbd13892f10274a87b1\"\u003e\u003ccode\u003ece5fe53\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/6a696edefec47e842d11de468caf6c7e69694976\"\u003e\u003ccode\u003e6a696ed\u003c/code\u003e\u003c/a\u003e PEP 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/91753343daa1366711a441b4a13bd1b31146909b\"\u003e\u003ccode\u003e9175334\u003c/code\u003e\u003c/a\u003e rename 1247.misc.rst to changelog/1247.misc.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/d94a4750883dc7cc92b2cbbb3970895303af216d\"\u003e\u003ccode\u003ed94a475\u003c/code\u003e\u003c/a\u003e fix(tests): update expected error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/c1c02d13d00f496339a86cd4f40d9f7e6926c0e4\"\u003e\u003ccode\u003ec1c02d1\u003c/code\u003e\u003c/a\u003e Remove --skip-existing support for non-PyPI indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/a24d308bb7fa5304ede3414747a939c7929d4c76\"\u003e\u003ccode\u003ea24d308\u003c/code\u003e\u003c/a\u003e Set trusted publishing logging to INFO/WARN (\u003ca href=\"https://redirect.github.com/pypa/twine/issues/1247\"\u003e#1247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/twine/commit/becf1a8ffe6ebd404aea9d7aeae1f756aeba57ba\"\u003e\u003ccode\u003ebecf1a8\u003c/code\u003e\u003c/a\u003e Fix py3.9 mypy error in \u003ccode\u003e__init__\u003c/code\u003e around \u003ccode\u003ePackageMetadata\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/twine/compare/5.0.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/metronis-space/aegis/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metronis-space%2Faegis/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}}]}