{"id":52928,"name":"securesystemslib","ecosystem":"pip","repository_url":"https://github.com/secure-systems-lab/securesystemslib","issues_count":26,"created_at":"2025-07-20T08:01:29.730Z","updated_at":"2025-07-20T08:01:29.730Z","purl":"pkg:pypi/securesystemslib","metadata":{"id":2914443,"name":"securesystemslib","ecosystem":"pypi","description":"A library that provides cryptographic and general-purpose routines for Secure Systems Lab projects at NYU","homepage":"https://github.com/secure-systems-lab/securesystemslib","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/secure-systems-lab/securesystemslib","keywords_array":["cryptography","ecdsa","ed25519","keys","rsa","signatures"],"namespace":null,"versions_count":46,"first_release_published_at":"2017-01-12T21:34:18.000Z","latest_release_published_at":"2025-04-15T10:11:33.000Z","latest_release_number":"1.3.0","last_synced_at":"2025-07-07T12:04:44.364Z","created_at":"2022-04-10T12:34:12.666Z","updated_at":"2025-07-07T12:04:44.364Z","registry_url":"https://pypi.org/project/securesystemslib/","install_command":"pip install securesystemslib --index-url https://pypi.org/simple","documentation_url":"https://securesystemslib.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","Natural Language :: English","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft :: Windows","Operating System :: POSIX","Operating System :: POSIX :: Linux","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Topic :: Security","Topic :: Software Development"],"normalized_name":"securesystemslib"},"repo_metadata":{"id":14061175,"uuid":"75772625","full_name":"secure-systems-lab/securesystemslib","owner":"secure-systems-lab","description":"Cryptographic and general-purpose routines for Secure Systems Lab projects at NYU","archived":false,"fork":false,"pushed_at":"2024-04-12T15:44:51.000Z","size":3269,"stargazers_count":42,"open_issues_count":64,"forks_count":47,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-04-13T00:48:45.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/secure-systems-lab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-12-06T21:21:30.000Z","updated_at":"2024-04-15T15:13:52.624Z","dependencies_parsed_at":"2023-02-18T05:01:11.607Z","dependency_job_id":"8111e4fa-2a3c-426c-a236-b1ae85d0ec56","html_url":"https://github.com/secure-systems-lab/securesystemslib","commit_stats":{"total_commits":1055,"total_committers":34,"mean_commits":"31.029411764705884","dds":0.6606635071090048,"last_synced_commit":"515c56dba45949a0f7e0f776632c07cdf0bac213"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-systems-lab","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":209627255,"owners_count":15034234,"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":"secure-systems-lab","name":"Secure Systems Lab at NYU","uuid":"9352491","kind":"organization","description":"See the main lab webpage for more information!","email":null,"website":"https://ssl.engineering.nyu.edu/","location":"NYU School of Engineering 6 MetroTech Center, Brooklyn, NY 11201","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/9352491?v=4","repositories_count":8,"last_synced_at":"2023-08-13T18:56:58.284Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/secure-systems-lab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-07T04:56:01.324Z","updated_at":"2023-08-13T18:56:58.560Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-systems-lab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-systems-lab/repositories"},"tags":[{"name":"v0.31.0","sha":"cc0ead6b03ad7e42418a36799daa87a6742e60cf","kind":"tag","published_at":"2023-12-04T08:52:11.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.31.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.31.0/manifests"},{"name":"v0.30.0","sha":"fe0cf39961936d7e66d0fc0d104371dfd441f1da","kind":"tag","published_at":"2023-10-03T10:50:26.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.30.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.30.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.30.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.30.0/manifests"},{"name":"v0.29.0","sha":"03f4ad8c1722423ded50fdd690cdfaf94e43ab06","kind":"commit","published_at":"2023-09-06T11:29:16.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.29.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.29.0/manifests"},{"name":"v0.28.0","sha":"88a3df2af2b38395293a537758601290809c6dfd","kind":"tag","published_at":"2023-04-18T12:58:34.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.28.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.28.0/manifests"},{"name":"v0.27.0","sha":"a22cbba7ed76eab2f766dd2a807d0b853c4fbb71","kind":"tag","published_at":"2023-03-14T15:01:02.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.27.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.27.0/manifests"},{"name":"v0.26.0","sha":"fe86ea1e1a6f89cbb31b839925c81cdded2012df","kind":"tag","published_at":"2023-01-13T11:25:13.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.26.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.26.0/manifests"},{"name":"v0.25.0","sha":"7ae6c549cbc13ca6eb425bb1ff99a28ccd20a0c0","kind":"tag","published_at":"2022-10-18T12:06:24.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.25.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.25.0/manifests"},{"name":"v0.24.0","sha":"6f0d9f3eb73c8cde5b7acb19563e98ad87b39bf6","kind":"tag","published_at":"2022-09-14T07:37:36.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.24.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.24.0/manifests"},{"name":"v0.23.0","sha":"47a6fdfa728ab8cdc3bdb71f70b16a7d404b4f58","kind":"tag","published_at":"2022-04-26T10:26:18.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.23.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.23.0/manifests"},{"name":"v0.22.0","sha":"934fc1b835dc0c594ccb2d52155d5970792ace7c","kind":"tag","published_at":"2022-02-10T14:10:22.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.22.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.22.0/manifests"},{"name":"v0.21.0","sha":"9b3ea003ab93ab6909d1327dfb2ab7af0309e7cc","kind":"tag","published_at":"2021-08-25T10:38:13.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.21.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.21.0/manifests"},{"name":"v0.20.1","sha":"576ea0369b18b9c8f547243f0a2c40d3223e2096","kind":"tag","published_at":"2021-05-06T13:16:31.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.20.1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.20.1/manifests"},{"name":"v0.20.0","sha":"197ebd2ff7a3aaaa433bba10027823a4fe1cd4c0","kind":"tag","published_at":"2021-02-26T12:07:12.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.20.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.20.0/manifests"},{"name":"v0.19.0","sha":"239700728f05f51f6923ee5c054353f12bcbe7c1","kind":"tag","published_at":"2021-02-16T13:39:41.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.19.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.19.0/manifests"},{"name":"debian/0.18.0-2","sha":"de8d696f0f3dfe3261ecab1feb422d2119744a78","kind":"tag","published_at":"2021-02-15T13:26:13.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/debian/0.18.0-2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/debian/0.18.0-2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.18.0-2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.18.0-2/manifests"},{"name":"debian/0.18.0-1","sha":"81410f9812356348c27e6a8d9c33c438427f6f89","kind":"tag","published_at":"2021-02-15T13:25:21.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/debian/0.18.0-1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/debian/0.18.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.18.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.18.0-1/manifests"},{"name":"v0.18.0","sha":"53b0db080f6b97a06eb621195d2676dd76b1b5df","kind":"tag","published_at":"2020-11-10T13:22:09.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.18.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.18.0/manifests"},{"name":"v0.17.0","sha":"c4d8618cb406c4560e75e6c0e2ec1de0e39a7678","kind":"tag","published_at":"2020-10-21T13:55:18.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.17.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.17.0/manifests"},{"name":"debian/0.16.0-1","sha":"893cc16006c145168e311fd3eb1eb35ae908a212","kind":"tag","published_at":"2020-09-01T10:00:21.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/debian/0.16.0-1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/debian/0.16.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.16.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.16.0-1/manifests"},{"name":"v0.16.0","sha":"1682f553ca00b73bdee5a2f3ce961888dbd9bffa","kind":"tag","published_at":"2020-08-11T12:31:05.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.16.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"09cf6d4fe8c5131944a8cf0f109fae7d14ba29b2","kind":"tag","published_at":"2020-05-14T15:26:50.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.15.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.15.0/manifests"},{"name":"v0.14.2","sha":"fe918f866b131e802abe68798c6c03d3c28c9a66","kind":"tag","published_at":"2020-02-26T14:38:03.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.14.2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.2/manifests"},{"name":"v0.14.1","sha":"b6c160b8b7603a078378f7f02cc81de05e1b7e32","kind":"tag","published_at":"2020-02-25T17:25:13.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.14.1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.1/manifests"},{"name":"v0.14.0","sha":"7c183ec55bbcfe068121b925ae0dbae97bf23733","kind":"tag","published_at":"2020-01-30T16:40:37.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.14.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.14.0/manifests"},{"name":"v0.13.1","sha":"536c7f2b94421c194d45dfaa39cd66bb664184d1","kind":"tag","published_at":"2019-12-18T09:00:12.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.13.1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"e2ad2112b16d1ff1297ddaef690e4fc343de3f27","kind":"tag","published_at":"2019-12-17T10:09:57.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.13.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.13.0/manifests"},{"name":"v0.12.2","sha":"bcede29f8354372f8759c9202672b1951dba027e","kind":"tag","published_at":"2019-11-11T18:55:07.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.12.2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.2/manifests"},{"name":"v0.12.1","sha":"dfd4c6536a46ca8263a00ad5f4c8b6309a98f478","kind":"tag","published_at":"2019-10-29T10:42:03.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.12.1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.1/manifests"},{"name":"debian/0.11.3-2","sha":"a2414722abd08f19d27335e170fcfc3f06c9d204","kind":"tag","published_at":"2019-10-21T10:01:30.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/debian/0.11.3-2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/debian/0.11.3-2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.11.3-2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/debian%2F0.11.3-2/manifests"},{"name":"v0.12.0","sha":"586c6b50aa2ac885b02713265d5bd1987af73091","kind":"tag","published_at":"2019-10-14T08:27:54.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.12.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.12.0/manifests"},{"name":"sslibv0.11.3","sha":"23008b457be0b4d2ceff112b45e3cc988b5f3bff","kind":"tag","published_at":"2018-09-27T20:45:44.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/sslibv0.11.3","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/sslibv0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/sslibv0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/sslibv0.11.3/manifests"},{"name":"sslibv0.11.2","sha":"509a1860a54019cb82ec374dc1cd1487c34517ba","kind":"tag","published_at":"2018-06-01T18:50:18.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/sslibv0.11.2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/sslibv0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/sslibv0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/sslibv0.11.2/manifests"},{"name":"v0.11.2","sha":"1c4161e0a8b249e42f4f8d02ffef49a45a2e4006","kind":"tag","published_at":"2018-06-01T18:43:44.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.11.2","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.2/manifests"},{"name":"v0.11.1","sha":"1c4161e0a8b249e42f4f8d02ffef49a45a2e4006","kind":"tag","published_at":"2018-04-30T15:43:40.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.11.1","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.1/manifests"},{"name":"v0.11.0","sha":"fcd79598dfcb3761da661a91775d0dcaea609c98","kind":"tag","published_at":"2018-04-11T18:37:06.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.11.0","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.11.0/manifests"},{"name":"v0.10.11","sha":"946bb81a75c93fcfdf3c67089e3d96a700db8344","kind":"tag","published_at":"2018-03-28T17:43:25.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.11","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.11/manifests"},{"name":"v0.10.10","sha":"57c12fd919e14c1a734ab977f08cd36353be34f9","kind":"tag","published_at":"2018-01-31T19:47:46.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.10","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.10/manifests"},{"name":"v0.10.9","sha":"07bf160803285c449e9f75e519aad588223b2954","kind":"tag","published_at":"2018-01-18T20:50:34.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.9","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.9/manifests"},{"name":"v0.10.8","sha":"3db6a951d175e0d98468e86a2949292e765780a8","kind":"tag","published_at":"2017-11-08T20:17:41.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.8","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.8/manifests"},{"name":"v0.10.7","sha":"433670b84f9d1490bacfcd2ba67b9ec77df0d970","kind":"tag","published_at":"2017-08-23T17:13:10.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.7","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.7/manifests"},{"name":"v0.10.6","sha":"e35fc017f8676b9f6402e23c7ea0320872dd7687","kind":"tag","published_at":"2017-07-17T20:44:59.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.6","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.6/manifests"},{"name":"v0.10.5","sha":"2afa062ff7db152e95b4ced822bedb4c4ef4f4e5","kind":"tag","published_at":"2017-06-14T21:00:06.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.5","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.5/manifests"},{"name":"v0.10.4","sha":"b535fc26c5a71e22311f9557907244744f908fe8","kind":"tag","published_at":"2017-01-23T17:08:01.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.4","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.4/manifests"},{"name":"v0.10.3","sha":"be5091ad9e58cc683dd2b7f2fba9c33d838d82a1","kind":"tag","published_at":"2017-01-19T19:56:42.000Z","download_url":"https://codeload.github.com/secure-systems-lab/securesystemslib/tar.gz/v0.10.3","html_url":"https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/tags/v0.10.3/manifests"}]},"repo_metadata_updated_at":"2024-07-06T08:42:10.275Z","dependent_packages_count":7,"downloads":227391,"downloads_period":"last-month","dependent_repos_count":79,"rankings":{"downloads":0.786490950971968,"dependent_repos_count":1.6760287493426218,"dependent_packages_count":1.2514075476946702,"stargazers_count":10.308903186963306,"forks_count":6.0450347080596645,"docker_downloads_count":0.7480047174214985,"average":3.4693116434089553},"purl":"pkg:pypi/securesystemslib","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/securesystemslib","docker_dependents_count":58,"docker_downloads_count":1556147,"usage_url":"https://repos.ecosyste.ms/usage/pypi/securesystemslib","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/securesystemslib/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-06-13T19:03:24.193Z","issues_count":137,"pull_requests_count":323,"avg_time_to_close_issue":40985703.55844156,"avg_time_to_close_pull_request":743891.5501618123,"issues_closed_count":77,"pull_requests_closed_count":309,"pull_request_authors_count":13,"issue_authors_count":16,"avg_comments_per_issue":2.240875912408759,"avg_comments_per_pull_request":0.9256965944272446,"merged_pull_requests_count":256,"bot_issues_count":5,"bot_pull_requests_count":204,"past_year_issues_count":47,"past_year_pull_requests_count":224,"past_year_avg_time_to_close_issue":7737360.321428572,"past_year_avg_time_to_close_pull_request":628909.4761904762,"past_year_issues_closed_count":28,"past_year_pull_requests_closed_count":210,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.7446808510638299,"past_year_avg_comments_per_pull_request":0.6741071428571429,"past_year_bot_issues_count":4,"past_year_bot_pull_requests_count":155,"past_year_merged_pull_requests_count":166,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-systems-lab%2Fsecuresystemslib/issues","maintainers":[{"login":"lukpueh","count":148,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lukpueh"},{"login":"jku","count":58,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jku"},{"login":"MVrachev","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MVrachev"},{"login":"joshuagl","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/joshuagl"},{"login":"adityasaky","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adityasaky"}],"active_maintainers":[{"login":"lukpueh","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lukpueh"},{"login":"jku","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jku"},{"login":"MVrachev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MVrachev"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/securesystemslib/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/securesystemslib/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/securesystemslib/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/securesystemslib/related_packages","maintainers":[{"uuid":"lukpueh","login":"lukpueh","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/lukpueh/","role":null,"created_at":"2023-02-20T08:39:25.566Z","updated_at":"2023-02-20T08:39:25.566Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/lukpueh/packages"},{"uuid":"jku","login":"jku","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/jku/","role":null,"created_at":"2023-02-20T08:39:25.599Z","updated_at":"2023-02-20T08:39:25.599Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jku/packages"},{"uuid":"joshuagl","login":"joshuagl","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/joshuagl/","role":null,"created_at":"2023-02-20T08:39:25.608Z","updated_at":"2023-02-20T08:39:25.608Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/joshuagl/packages"},{"uuid":"awwad","login":"awwad","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/awwad/","role":null,"created_at":"2023-02-20T08:39:25.544Z","updated_at":"2023-02-20T08:39:25.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/awwad/packages"},{"uuid":"torresariass","login":"torresariass","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/torresariass/","role":null,"created_at":"2023-02-20T08:39:25.587Z","updated_at":"2023-02-20T08:39:25.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/torresariass/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":709469,"maintainers_count":301263,"namespaces_count":0,"keywords_count":233272,"github":"pypi","metadata":{"funded_packages_count":49763},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-07-24T06:22:10.829Z","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":14,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4610482800","node_id":"PR_kwDOR-7nxM7jxxc5","number":163,"state":"open","title":"chore(deps-dev): Bump the dev-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:18:25.000Z","updated_at":"2026-06-08T06:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"dev-dependencies","update_count":28,"packages":[{"name":"uv","old_version":"0.11.7","new_version":"0.11.19","repository_url":"https://github.com/astral-sh/uv"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"hypothesis","old_version":"6.152.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"mutmut","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"certifi","old_version":"2026.2.25","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.13.5","new_version":"7.14.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cyclonedx-python-lib","old_version":"11.7.0","new_version":"11.8.0","repository_url":"https://github.com/CycloneDX/cyclonedx-python-lib"},{"name":"distlib","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/pypa/distlib"},{"name":"filelock","old_version":"3.25.2","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"identify","old_version":"2.6.18","new_version":"2.6.19","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.11","new_version":"3.18","repository_url":"https://github.com/kjd/idna"},{"name":"mdit-py-plugins","old_version":"0.5.0","new_version":"0.6.1","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pip","old_version":"26.0.1","new_version":"26.1.2","repository_url":"https://github.com/pypa/pip"},{"name":"platformdirs","old_version":"4.9.6","new_version":"4.10.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"26.0.0","new_version":"26.2.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"python-discovery","old_version":"1.2.2","new_version":"1.4.0","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"securesystemslib","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sigstore","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"soupsieve","old_version":"2.8.3","new_version":"2.8.4","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"textual","old_version":"8.2.4","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"21.2.0","new_version":"21.4.2","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uv](https://github.com/astral-sh/uv) | `0.11.7` | `0.11.19` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.44` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.152.1` | `6.155.2` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.5.0` | `3.6.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.5` | `7.14.1` |\n| [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) | `11.7.0` | `11.8.0` |\n| [distlib](https://github.com/pypa/distlib) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.2` | `3.29.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.18` | `2.6.19` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.18` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.5.0` | `0.6.1` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pip](https://github.com/pypa/pip) | `26.0.1` | `26.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.6` | `4.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `26.0.0` | `26.2.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.2.2` | `1.4.0` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.1` | `1.4.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `4.2.0` | `4.3.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.3` | `2.8.4` |\n| [textual](https://github.com/Textualize/textual) | `8.2.4` | `8.2.7` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.0` | `21.4.2` |\n\n\nUpdates `uv` from 0.11.7 to 0.11.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.19\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.19\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz\"\u003euv-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip\"\u003euv-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip\"\u003euv-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip\"\u003euv-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz\"\u003euv-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz\"\u003euv-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- 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/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-01.\u003c/p\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix performance regression in unzip of local wheels (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19637\"\u003e#19637\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euv check\u003c/code\u003e to run \u003ccode\u003ety\u003c/code\u003e from uv (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19605\"\u003e#19605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate activation scripts with upstream fixes (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19628\"\u003e#19628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to 1.94 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19600\"\u003e#19600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.17\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/7b2cff1c316eb3b7f52b1cc121d7e25eeea1b17c\"\u003e\u003ccode\u003e7b2cff1\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.19 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19668\"\u003e#19668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/ebd5033d77bca6a58c329cbbc351406a9415c920\"\u003e\u003ccode\u003eebd5033\u003c/code\u003e\u003c/a\u003e Fix setup-crates-io-publish call (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19667\"\u003e#19667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/9abd9b122b963dc6d71a8b29729efa86b3b41d4c\"\u003e\u003ccode\u003e9abd9b1\u003c/code\u003e\u003c/a\u003e Respect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/95507374d81bee4c6ffe55d9ccef60c5120e20b2\"\u003e\u003ccode\u003e9550737\u003c/code\u003e\u003c/a\u003e Use global preview in \u003ccode\u003eCondaEnvironmentKind::from_prefix_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19649\"\u003e#19649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/b82cadf1555c23a0971bd660ed07fba223290aee\"\u003e\u003ccode\u003eb82cadf\u003c/code\u003e\u003c/a\u003e Remove more duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d3cd632c83dbce8452cd2d4c3ccd8a3cd8ff5069\"\u003e\u003ccode\u003ed3cd632\u003c/code\u003e\u003c/a\u003e Always compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/48548c496e835a84c9a69d7d7e7d3b4b809fad8c\"\u003e\u003ccode\u003e48548c4\u003c/code\u003e\u003c/a\u003e Sync latest Python releases (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/8df759892cd54488c66a77852d7fc3f87a066f64\"\u003e\u003ccode\u003e8df7598\u003c/code\u003e\u003c/a\u003e fix feature-gates on \u003ccode\u003eformat\u003c/code\u003e and \u003ccode\u003echeck\u003c/code\u003e tests to specify they access r2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/68ae09e00cb4a1b7eb512b0ac77b79e4683cfaf4\"\u003e\u003ccode\u003e68ae09e\u003c/code\u003e\u003c/a\u003e Remove unused \u003ccode\u003epub\u003c/code\u003e code from workspace (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19565\"\u003e#19565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d4450f385074cd2a639e2525f44608c3c27f6414\"\u003e\u003ccode\u003ed4450f3\u003c/code\u003e\u003c/a\u003e Remove a bunch of duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests by using diffs (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.31 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `mutmut` from 3.5.0 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/boxed/mutmut/blob/main/HISTORY.rst\"\u003emutmut's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.6.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `# pragma: no mutate block` and `# pragma: no mutate start/end` comments\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edo_not_mutate_patterns\u003c/code\u003e to disable mutations with a regex\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eonly_mutate\u003c/code\u003e config to select which files get mutated\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlso mutate methods decorated with (only) \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003euse_setproctitle\u003c/code\u003e option to disable process renaming (automatically disabled on MacOS)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd (unstable) \u003ccode\u003etimeout_multiplier\u003c/code\u003e and \u003ccode\u003etimeout_constant\u003c/code\u003e options\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename \u003ccode\u003epaths_to_mutate\u003c/code\u003e to \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003etests_dir\u003c/code\u003e in favor of \u003ccode\u003epytest_add_cli_args_test_selection\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003emax_stack_depth\u003c/code\u003e to only consider functions inside \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisable mutation of enums and \u003ccode\u003e@staticmethod\u003c/code\u003e/\u003ccode\u003e@classmethod\u003c/code\u003e methods when \u003ccode\u003etype_check_command\u003c/code\u003e is set, as these mutations break type checking\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation for enum class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutate_only_covered_lines when project uses custom coverage.py config\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix execution when running mutmut via \u003ccode\u003epython -m mutmut run\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of \u003ccode\u003eclass _SomePrivateClass\u003c/code\u003e class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of default args\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003emutmut browse\u003c/code\u003e crash when no file is selected yet\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix timeout checker looking up the wrong mutant's expected test time, which could cause mutants to hang\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompare stats paths after resolving symlinks\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWarn when mutmut cannot match mutants with the collected stats\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/boxed/mutmut/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.2.25 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.02.25...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.5 to 7.14.1\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.14.1 — 2026-05-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the HTML report used typographic niceties to make file paths more\nreadable by adding a small amount of space around slashes. Those spaces\ninterfered with searching the page for file paths of interest. Now the report\nuses CSS to accomplish the same visual tweak so that searches with slashes\nwork correctly. Closes \u003ccode\u003eissue 2170\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eAdd a 3.16 PyPI classifier \u0026lt;hugo-316_\u0026gt;\u003c/code\u003e_ since we test on the 3.16 main\nbranch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2170: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2170\"\u003ecoveragepy/coveragepy#2170\u003c/a\u003e\n.. _hugo-316: \u003ca href=\"https://mastodon.social/@hugovk/116588523571204490\"\u003ehttps://mastodon.social/@​hugovk/116588523571204490\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-14-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/64d9b66fd852c1920ffe6cb8b58d7e4fdae90226\"\u003e\u003ccode\u003e64d9b66\u003c/code\u003e\u003c/a\u003e docs: correct the date for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6fa7dd44c25e1a660252faaf030dd8f2f1e20861\"\u003e\u003ccode\u003e6fa7dd4\u003c/code\u003e\u003c/a\u003e chore: bump actions/dependency-review-action (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2181\"\u003e#2181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/078afae263597b004eb9a85d880b6a65008e75ed\"\u003e\u003ccode\u003e078afae\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cb4f028a36e008b664739d04f387b90ee5105044\"\u003e\u003ccode\u003ecb4f028\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ae2d09f562271c6169534e1c242d015dd0823dda\"\u003e\u003ccode\u003eae2d09f\u003c/code\u003e\u003c/a\u003e Merge branch 'nedbat/classifire-316-kits'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2c3568b2e041f2c0dbbc8eaa3919d46ee891b743\"\u003e\u003ccode\u003e2c3568b\u003c/code\u003e\u003c/a\u003e build: declare 3.16 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/faa68f8601cf098701b68976dbb73b9fc23c9297\"\u003e\u003ccode\u003efaa68f8\u003c/code\u003e\u003c/a\u003e chore: bump github/codeql-action in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2173\"\u003e#2173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/eb55feedf54b363e3d0b678f20abf3bfd3551a88\"\u003e\u003ccode\u003eeb55fee\u003c/code\u003e\u003c/a\u003e test: we don't need PyPy \u0026lt; 7.3.22 anymore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ac168fe53c04cdb2ff5231c0c4e5045021ee339b\"\u003e\u003ccode\u003eac168fe\u003c/code\u003e\u003c/a\u003e test: the text summary should show missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fed4bd2db3c1cb2916a07791041da693fbf8e996\"\u003e\u003ccode\u003efed4bd2\u003c/code\u003e\u003c/a\u003e chore: upgrade virtualenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.5...7.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cyclonedx-python-lib` from 11.7.0 to 11.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/releases\"\u003ecyclonedx-python-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: extract glob for pyupgrade to separate script for cross-platform compatibility by \u003ca href=\"https://github.com/peschuster\"\u003e\u003ccode\u003e@​peschuster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/950\"\u003eCycloneDX/cyclonedx-python-lib#950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update CDX summary by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003eCycloneDX/cyclonedx-python-lib#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix test coverage reporting by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/956\"\u003eCycloneDX/cyclonedx-python-lib#956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): update tomli requirement from 2.3.0 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/954\"\u003eCycloneDX/cyclonedx-python-lib#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): use own GH app for releasing by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/958\"\u003eCycloneDX/cyclonedx-python-lib#958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): pin GitHub Actions to immutable SHAs while preserving tag tracking by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/961\"\u003eCycloneDX/cyclonedx-python-lib#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add zizmor workflow to harden GitHub Actions security by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/968\"\u003eCycloneDX/cyclonedx-python-lib#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate PULL_REQUEST_TEMPLATE.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/974\"\u003eCycloneDX/cyclonedx-python-lib#974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update CONTRIBUTING.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/975\"\u003eCycloneDX/cyclonedx-python-lib#975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): comments for pinned actions by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/984\"\u003eCycloneDX/cyclonedx-python-lib#984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003eCycloneDX/cyclonedx-python-lib#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/982\"\u003eCycloneDX/cyclonedx-python-lib#982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/964\"\u003eCycloneDX/cyclonedx-python-lib#964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/963\"\u003eCycloneDX/cyclonedx-python-lib#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: pull SPDX license IDs v1.1-3.28.0 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003eCycloneDX/cyclonedx-python-lib#986\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ehttps://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eDetailed Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.7.1-alpha.2\"\u003ev11.7.0...v11.7.1-alpha.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md\"\u003ecyclonedx-python-lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/e537812860bc7800ee6252524da2353bee71aba3\"\u003e\u003ccode\u003ee537812\u003c/code\u003e\u003c/a\u003e chore(release): 11.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e feat: pull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/590402a0c963816a48902eba86d6be963ebf3ed0\"\u003e\u003ccode\u003e590402a\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/963\"\u003e#963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/051abcef774a606b93da55b8fed4aa4ae056a744\"\u003e\u003ccode\u003e051abce\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/bc961efabd6a898f2d349ad97d2804d66b60e45c\"\u003e\u003ccode\u003ebc961ef\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e feat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/392ba604f2510bdfaab5020f8cd7c54f8140dd6a\"\u003e\u003ccode\u003e392ba60\u003c/code\u003e\u003c/a\u003e chore(ci): comments for pinned actions (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/0daf3f99c171d64634443cfecea12eb10c84fde9\"\u003e\u003ccode\u003e0daf3f9\u003c/code\u003e\u003c/a\u003e chore: Update CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/1a6dfb047631085d2acddc38afbe41413a4f9420\"\u003e\u003ccode\u003e1a6dfb0\u003c/code\u003e\u003c/a\u003e Update PULL_REQUEST_TEMPLATE.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/52c29afe0e17339daf77fc107f21072d4bf52425\"\u003e\u003ccode\u003e52c29af\u003c/code\u003e\u003c/a\u003e chore: add zizmor workflow to harden GitHub Actions security (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `distlib` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/distlib/blob/master/CHANGES.rst\"\u003edistlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.4.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nReleased: 2026-06-02\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003escripts\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix path traversal bug in handling entry points which allowed escaping the scripts directory.\nThanks to tonghuaroot for the comprehensive report.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etests\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Change test function following a reorganization which happened in the Python stdlib.\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/d562ad5aabe23dc03b22fccdf84dc01fddf0d336\"\u003e\u003ccode\u003ed562ad5\u003c/code\u003e\u003c/a\u003e Changes for 0.4.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a\"\u003e\u003ccode\u003e6286442\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Use more appropriate function in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/e3b1cd6ec121058ae71a2aab08aa2a120360c872\"\u003e\u003ccode\u003ee3b1cd6\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/da3e90aef9c2ea545ac653039dd970174b48ebd4\"\u003e\u003ccode\u003eda3e90a\u003c/code\u003e\u003c/a\u003e Added tag 0.4.0 for changeset d31f0b340fde\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/distlib/compare/0.4.0...0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.25.2 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\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/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/533\"\u003etox-dev/filelock#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/534\"\u003etox-dev/filelock#534\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.28.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/529\"\u003etox-dev/filelock#529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.27.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(rw): add SoftReadWriteLock for NFS and HPC clusters by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/528\"\u003etox-dev/filelock#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.26.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blo...\n\n_Description has been truncated_","html_url":"https://github.com/IvanAnishchuk/geek42/pull/163","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanAnishchuk%2Fgeek42/issues/163","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/163/packages"},{"uuid":"3808350731","node_id":"PR_kwDOIPxgHc6853KS","number":85,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-15T10:41:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T11:07:19.000Z","updated_at":"2026-01-15T10:41:34.000Z","time_to_close":171253,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":24,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.18.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"celery","old_version":"5.5.3","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"boto3","old_version":"1.40.16","new_version":"1.42.26","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.14.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.34.1","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"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":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinx-rtd-theme","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/readthedocs/sphinx_rtd_theme"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.45` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.18.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.5` |\n| [celery](https://github.com/celery/celery) | `5.5.3` | `5.6.2` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.42.26` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.14.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.34.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.5` | `7.13.1` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.12.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.19.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) | `3.0.2` | `3.1.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n\n\nUpdates `redis` from 6.4.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.45\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.45\u003c/h1\u003e\n\u003cp\u003eReleased: December 9, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where calling \u003ccode\u003eMapper.add_property()\u003c/code\u003e within mapper event\nhooks such as \u003ccode\u003eMapperEvents.instrument_class()\u003c/code\u003e,\n\u003ccode\u003eMapperEvents.after_mapper_constructed()\u003c/code\u003e, or\n\u003ccode\u003eMapperEvents.before_mapper_configured()\u003c/code\u003e would raise an\n\u003ccode\u003eAttributeError\u003c/code\u003e because the mapper's internal property collections were\nnot yet initialized. The \u003ccode\u003eMapper.add_property()\u003c/code\u003e method now handles\nearly-stage property additions correctly, allowing properties including\ncolumn properties, deferred columns, and relationships to be added during\nmapper initialization events.  Pull request courtesy G Allajmi.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12858\"\u003e#12858\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue in Python 3.14 where dataclass transformation would fail when\na mapped class using \u003ccode\u003eMappedAsDataclass\u003c/code\u003e included a\n\u003ccode\u003erelationship()\u003c/code\u003e referencing a class that was not available at\nruntime (e.g., within a \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e block). This occurred when using\nPython 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e deferred annotations feature, which is the\ndefault behavior without a \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e\ndirective.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12952\"\u003e#12952\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexamples\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[examples] [bug]\u003c/strong\u003e Fixed the \u0026quot;short_selects\u0026quot; performance example where the cache was being\nused in all the examples, making it impossible to compare performance with\nand without the cache.   Less important comparisons like \u0026quot;lambdas\u0026quot; and\n\u0026quot;baked queries\u0026quot; have been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Some improvements to the \u003ccode\u003e_sql.ClauseElement.params()\u003c/code\u003e method to\nreplace bound parameters in a query were made, however the ultimate issue\nin \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12915\"\u003e#12915\u003c/a\u003e involving ORM \u003ccode\u003e_orm.aliased()\u003c/code\u003e cannot be fixed fully\nuntil 2.1, where the method is being rewritten to work without relying on\nCore cloned traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12915\"\u003e#12915\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003eColumnOperators.in_()\u003c/code\u003e operator with a\nnested \u003ccode\u003eCompoundSelect\u003c/code\u003e statement (e.g. an \u003ccode\u003eINTERSECT\u003c/code\u003e of\n\u003ccode\u003eUNION\u003c/code\u003e queries) would raise a \u003ccode\u003eNotImplementedError\u003c/code\u003e when the\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.0\u003c/h1\u003e\n\u003cp\u003eReleased: January 9, 2026\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e When alembic is run in \u0026quot;verbose\u0026quot; mode, alembic now logs a message to\nindicate from which file is used to load the configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1737\"\u003e#1737\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [autogenerate]\u003c/strong\u003e Autogenerate reflection sweeps now use the \u0026quot;bulk\u0026quot; inspector methods\nintroduced in SQLAlchemy 2.0, which for selected dialects including\nPostgreSQL and Oracle use batched queries to reflect whole collections of\ntables using O(1) queries rather than O(N).\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [autogenerate]\u003c/strong\u003e Release 1.18.0 introduces a plugin system that allows for automatic\nloading of third-party extensions as well as configurable autogenerate\ncompare functionality on a per-environment basis.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ePlugin\u003c/code\u003e class provides a common interface for extensions that\nregister handlers among Alembic's existing extension points such as\n\u003ccode\u003eOperations.register_operation()\u003c/code\u003e and\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e. A new interface for registering\nautogenerate comparison handlers,\n\u003ccode\u003ePlugin.add_autogenerate_comparator()\u003c/code\u003e, provides for autogenerate\ncompare functionality that may be custom-configured on a per-environment\nbasis using the new\n\u003ccode\u003eEnvironmentContext.configure.autogenerate_plugins\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003eThe change does not impact well known Alembic add-ons such as\n\u003ccode\u003ealembic-utils\u003c/code\u003e, which continue to work as before; however, such add-ons\nhave the option to provide plugin entrypoints going forward.\u003c/p\u003e\n\u003cp\u003eAs part of this change, Alembic's autogenerate compare functionality is\nreorganized into a series of internal plugins under the\n\u003ccode\u003ealembic.autogenerate\u003c/code\u003e namespace, which may be individually or\ncollectively identified for inclusion and/or exclusion within the\n\u003ccode\u003eEnvironmentContext.configure()\u003c/code\u003e call using a new parameter\n\u003ccode\u003eEnvironmentContext.configure.autogenerate_plugins\u003c/code\u003e. This\nparameter is also where third party comparison plugins may also be\nindicated.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ealembic.plugins.toplevel\u003c/code\u003e for complete documentation on\nthe new \u003ccode\u003ePlugin\u003c/code\u003e class as well as autogenerate-specific usage\ninstructions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.5.3 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\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/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\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/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.5.3...v5.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.42.26\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5ffffe1fb42fe0f283a537738f4567eed3c560c9\"\u003e\u003ccode\u003e5ffffe1\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.26'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ab8545a9a3b1791833f1b898c07da0b0b7041ea8\"\u003e\u003ccode\u003eab8545a\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/47198117acb1ccf87bf9289508517bc0a075f870\"\u003e\u003ccode\u003e4719811\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/93978170acb80cf7b6ff85c3a9b657e2022bb9fb\"\u003e\u003ccode\u003e9397817\u003c/code\u003e\u003c/a\u003e Add note on logical operators (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4141\"\u003e#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8dd60074e59d29c733b6b6eefad3a75ab615090b\"\u003e\u003ccode\u003e8dd6007\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.25'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f4381e378a62008168a4947355d8fb73700f6e8c\"\u003e\u003ccode\u003ef4381e3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.25' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0bf89db7865cfef4ed697b92199c093ca6f5f803\"\u003e\u003ccode\u003e0bf89db\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/34bf8f819c2870d7baa90c6e65f83dea34586bdd\"\u003e\u003ccode\u003e34bf8f8\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b8fbad82f97a16e4b468b7f9ff83bafa2e8d55d\"\u003e\u003ccode\u003e9b8fbad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6dda579bbbeafe145506fb40a65a2f7979f196c2\"\u003e\u003ccode\u003e6dda579\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.24' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.42.26\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.14.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: upgrade pg8000 due to CVE-2025-61385 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3225\"\u003eaws/aws-sdk-pandas#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support redshift \u003ccode\u003eCLEANPATH\u003c/code\u003e by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3211\"\u003eaws/aws-sdk-pandas#3211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add result reuse configuration to query execution functions by \u003ca href=\"https://github.com/DavidKatz-il\"\u003e\u003ccode\u003e@​DavidKatz-il\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3212\"\u003eaws/aws-sdk-pandas#3212\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add \u003ccode\u003es3_output\u003c/code\u003e parameter to \u003ccode\u003e_start_query_execution\u003c/code\u003e call in \u0026quot;overwrite\u0026quot; mode by \u003ca href=\"https://github.com/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: iceberg overwrite partitions with s3 output by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3220\"\u003eaws/aws-sdk-pandas#3220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Correct MemoryFormat.set() Parameter Type Annotation by \u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize AWS_SESSION_TOKEN=None to empty string for delta-rs compatibility by \u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3208\"\u003eaws/aws-sdk-pandas#3208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pyarrow constraints by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3210\"\u003eaws/aws-sdk-pandas#3210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3213\"\u003eaws/aws-sdk-pandas#3213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/setup-node from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3214\"\u003eaws/aws-sdk-pandas#3214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace deprecated pr linting action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3215\"\u003eaws/aws-sdk-pandas#3215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 3.14.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3227\"\u003eaws/aws-sdk-pandas#3227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update Snyk action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3228\"\u003eaws/aws-sdk-pandas#3228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix incorrect license field by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3229\"\u003eaws/aws-sdk-pandas#3229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update layers.rst by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3230\"\u003eaws/aws-sdk-pandas#3230\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/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\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/aws/aws-sdk-pandas/commit/20193b48db3a0e57d26a344e646811495e0c4e46\"\u003e\u003ccode\u003e20193b4\u003c/code\u003e\u003c/a\u003e Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d1c7910e3b3bb125733c9f0318f4e639e7e13d1f\"\u003e\u003ccode\u003ed1c7910\u003c/code\u003e\u003c/a\u003e pin pyarrow in lambda layer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/3521ddc6ae4f19ce6faaf43c34d1b3575b267d6b\"\u003e\u003ccode\u003e3521ddc\u003c/code\u003e\u003c/a\u003e chore: Release 3.14.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3227\"\u003e#3227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2371f80eead3b17d344a3a39794610e61e082e1f\"\u003e\u003ccode\u003e2371f80\u003c/code\u003e\u003c/a\u003e fix(delta-rs): normalize AWS_SESSION_TOKEN=None to empty string for delta-rs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/9b843841000fbbe0d0aa91f6b0becc0c459204a2\"\u003e\u003ccode\u003e9b84384\u003c/code\u003e\u003c/a\u003e Correct MemoryFormat.set() Parameter Type Annotation (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f5980f2adbd561f73564cfdbfd4e268b2c41fccd\"\u003e\u003ccode\u003ef5980f2\u003c/code\u003e\u003c/a\u003e chore: upgrade pg8000 due to a CVE-2025-61385 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/ed4057e0d835585d72a434c284ee7f74fd6e9d33\"\u003e\u003ccode\u003eed4057e\u003c/code\u003e\u003c/a\u003e fix: iceberg overwrite partitions with s3 output (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d425c500a2e2a30b3ac537e24bf34b900432215b\"\u003e\u003ccode\u003ed425c50\u003c/code\u003e\u003c/a\u003e [FIX] Add s3_output parameter to _start_query_execution call in \u0026quot;overwrite\u0026quot; m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/294f35e4dd2c41ff5a1a0bc92c9134533355692a\"\u003e\u003ccode\u003e294f35e\u003c/code\u003e\u003c/a\u003e chore: replace pr linting action (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c81581ca40579735cd0caa6e91f1fa5d2c3b46d7\"\u003e\u003ccode\u003ec81581c\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-node in the github-actions group (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3214\"\u003e#3214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provide...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"},{"uuid":"3670853702","node_id":"PR_kwDOHGh5u8610wID","number":915,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T11:09:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-27T10:46:16.000Z","updated_at":"2026-01-13T11:09:06.000Z","time_to_close":4062168,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":34,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.4","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.41.5","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"hvac","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hvac/hvac"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.32.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"hatchling","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/pypa/hatch"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.4` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.41.5` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.7.0` |\n| [hvac](https://github.com/hvac/hvac) | `2.3.0` | `2.4.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.1` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.32.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.3` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [hatchling](https://github.com/pypa/hatch) | `1.27.0` | `1.28.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.9.2` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Typer 0.20 support\u003c/li\u003e\n\u003cli\u003eFix lack of support for \u003ccode\u003eflag_value=...\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.4 (2025-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Typer 0.20 support\u003c/li\u003e\n\u003cli\u003eFix lack of support for \u003ccode\u003eflag_value=...\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\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/ewels/rich-click/commit/7577bb99779c3789f252bc59617daaefdd81cf75\"\u003e\u003ccode\u003e7577bb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/309\"\u003e#309\u003c/a\u003e from dwreeves/1.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/69152920143a12f4f9c47ccf9056a164048b7935\"\u003e\u003ccode\u003e6915292\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d1d294c8868d5b363e7ae96608722cb50223f3ec\"\u003e\u003ccode\u003ed1d294c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/308\"\u003e#308\u003c/a\u003e from dwreeves/fix-flag-value-issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2bcbd9f7c716079437c3f6024ad089335a184889\"\u003e\u003ccode\u003e2bcbd9f\u003c/code\u003e\u003c/a\u003e update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/fdbe0267dd492cfbc07817b0f2de5090c2e65b1a\"\u003e\u003ccode\u003efdbe026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/306\"\u003e#306\u003c/a\u003e from omad/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f55d3b8cb01feaaee720498bcea3581c859867cb\"\u003e\u003ccode\u003ef55d3b8\u003c/code\u003e\u003c/a\u003e Merge branch 'patch-1' of github.com-dwreeves:omad/rich-click into patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/515a091913fbe70a0172143ce7feed253e3763db\"\u003e\u003ccode\u003e515a091\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/307\"\u003e#307\u003c/a\u003e from dwreeves/typer-0.20-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/49dff4b13a1357307386edc73c540ecbda1c4854\"\u003e\u003ccode\u003e49dff4b\u003c/code\u003e\u003c/a\u003e Fix Typer 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78793440af87f4e9b9204bbff90bfa2bf6fedbc2\"\u003e\u003ccode\u003e7879344\u003c/code\u003e\u003c/a\u003e Fix example links for documentation site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eUnreleased\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--old-finders\u003c/code\u003e and \u003ccode\u003e--magic-placement\u003c/code\u003e flags and \u003ccode\u003eold_finders\u003c/code\u003e configuration option. The legacy finder logic that relied on environment introspection has been removed (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2445\"\u003e#2445\u003c/a\u003e) \u003ca href=\"https://github.com/joao-faria-dev\"\u003e\u003ccode\u003e@​joao-faria-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/915","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/915","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/915/packages"},{"uuid":"3637510976","node_id":"PR_kwDOIPxgHc60FA43","number":81,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-01T13:50:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-18T10:59:29.000Z","updated_at":"2025-12-01T13:50:59.000Z","time_to_close":1133488,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":22,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.0.1","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.17.2","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.75","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.14.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.32.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.11.3","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.4.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.1","repository_url":"https://github.com/PyCQA/bandit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.0.1` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.17.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.4` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.75` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.14.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.32.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.5` | `7.11.3` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.4.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.1` |\n\n\nUpdates `redis` from 6.4.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/dmaier\"\u003e\u003ccode\u003e@​dmaier\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eOne of the main features introduced in this release is a new type of client \u003ccode\u003eMultiDBClient\u003c/code\u003e. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.\nMore information could be found in docs.\u003c/p\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for maintenance push notifications handling during server upgrade or maintenance procedures. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3756\"\u003e#3756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3779\"\u003e#3779\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding WITHATTRIBS option to vector set's vsim command. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding ssl_verify_flags_config argument for ssl connection configuration (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3772\"\u003e#3772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3808\"\u003e#3808\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-database client implementation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3784\"\u003e#3784\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding abstract method declaration for cache property setter in EvictionPolicyInterface(\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3732\"\u003e#3732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused parse_list_to_dict function from helpers (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3733\"\u003e#3733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving synchronous context manager handling from async RedisCluster. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedis Search/Aggregate improved type annotations (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3676\"\u003e#3676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ping command docstrings and method return type hint (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing several *arg type hints in core.py and json module commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3666\"\u003e#3666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging the timeout typehint in async BlockingConnectionPool from int to float (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3801\"\u003e#3801\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix docstring for ssl_check_hostname (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3761\"\u003e#3761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in vectorset commands.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in query.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3718\"\u003e#3718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in cluster.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3717\"\u003e#3717\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/redis/redis-py/commit/613a06f5bee94ee8aad3d841dd8c595ae6cc62d2\"\u003e\u003ccode\u003e613a06f\u003c/code\u003e\u003c/a\u003e Updating redis-py package version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/3f7a55e5914f82787fde15c56c18b105f001745e\"\u003e\u003ccode\u003e3f7a55e\u003c/code\u003e\u003c/a\u003e Adding info about Multi-database client in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/313d93f0b90c69ea5e6c7af8ff9b31ee005f4994\"\u003e\u003ccode\u003e313d93f\u003c/code\u003e\u003c/a\u003e Add 'multi_database' section to documentation index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/78df74522f76341be965e5c719427be6dcd5bedf\"\u003e\u003ccode\u003e78df745\u003c/code\u003e\u003c/a\u003e Revised multi-database client documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/7a4e8bc42a1cbda6b1e8e2e1dfbe8a94766e07f9\"\u003e\u003ccode\u003e7a4e8bc\u003c/code\u003e\u003c/a\u003e Updating package version to 7.0.0 and supported redis versions in readme.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/64a2721d6b0303e7a723066530b467145ee10841\"\u003e\u003ccode\u003e64a2721\u003c/code\u003e\u003c/a\u003e Refactor healthcheck to use PING instead of ECHO (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/24a7a1027bd6390e161c1c88be35c8acb242833d\"\u003e\u003ccode\u003e24a7a10\u003c/code\u003e\u003c/a\u003e Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/32ba6d89d2061a44c0c3f36d249fb9929836fca6\"\u003e\u003ccode\u003e32ba6d8\u003c/code\u003e\u003c/a\u003e DOC-5821 update index/query example for runnable notebook (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/c1e566f9fbd99912d7073b871eeda76d70f61b63\"\u003e\u003ccode\u003ec1e566f\u003c/code\u003e\u003c/a\u003e Add handling of empty spaces during CLIENT LIST response parsing (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/295bec67ddbf99c205376483f08a3ddebb72f2b2\"\u003e\u003ccode\u003e295bec6\u003c/code\u003e\u003c/a\u003e Adding new ExternalAuthProviderError that will be raised when we receive 'pro...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.2\u003c/h1\u003e\n\u003cp\u003eReleased: November 14, 2025\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e Added \u003ccode\u003eOperations.implementation_for.replace\u003c/code\u003e parameter to\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e, allowing replacement of existing\noperation implementations.  This allows for existing operations such as\n\u003ccode\u003eCreateTableOp\u003c/code\u003e to be extended directly.  Pull request courtesy\njustanothercatgirl.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1750\"\u003e#1750\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mssql]\u003c/strong\u003e Fixed issue in SQL Server dialect where the DROP that's automatically\nemitted for existing default constraints during an ALTER COLUMN needs to\ntake place before not just the modification of the column's default, but\nalso before the column's type is changed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1744\"\u003e#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.12.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5c842dfc9c245fb37aa1f5ec5b55c1aed10bd7e6\"\u003e\u003ccode\u003e5c842df\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c678a710e8b8bb2ff4dce6233c6d5c88dc579136\"\u003e\u003ccode\u003ec678a71\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a7cd29254b2611c5768beb86e7ffd2c1c130a19a\"\u003e\u003ccode\u003ea7cd292\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ecloudpickle\u003c/code\u003e to v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/21f627801b5eedfa87bed55925f73cf329cc9c2c\"\u003e\u003ccode\u003e21f6278\u003c/code\u003e\u003c/a\u003e Bump actions/setup-node from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8d6be8fea9662203977b95758d97ec298edcd54a\"\u003e\u003ccode\u003e8d6be8f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17865ea3a1fd389ba697990b762f82a419a48221\"\u003e\u003ccode\u003e17865ea\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/90ad0af6b9340f72dde77997ed18fc180771e69f\"\u003e\u003ccode\u003e90ad0af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/18e6672b6fdeaeb75ccbbcb3c7883509b1f56cb3\"\u003e\u003ccode\u003e18e6672\u003c/code\u003e\u003c/a\u003e Drop testing under PyPy 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/650215be2d2336a72af481b724b368fed356d7e8\"\u003e\u003ccode\u003e650215b\u003c/code\u003e\u003c/a\u003e Document workaround for \u003ccode\u003eMongoDsn\u003c/code\u003e default port\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e3267902272d8290ed6d1ae06f43052b2968ef14\"\u003e\u003ccode\u003ee326790\u003c/code\u003e\u003c/a\u003e Fix example of for \u003ccode\u003ebytes_invalid_encoding\u003c/code\u003e validation error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.75\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/76bb63ddcaf878e5fea038518af5f84a1dccfcb1\"\u003e\u003ccode\u003e76bb63d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.75'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4094ca62c842c51761d442a0eb6063565b5f07ad\"\u003e\u003ccode\u003e4094ca6\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b37bc1c7514e9e1a8f9a4f3a1c650d8b4132f40d\"\u003e\u003ccode\u003eb37bc1c\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/49140e033d31324b28e340329f866af3009f0d06\"\u003e\u003ccode\u003e49140e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f3fe4845588855a9871cf8182597e2ab2e26eca9\"\u003e\u003ccode\u003ef3fe484\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.74' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/786aff8131cd2e48dbe522643f06d84353dad2c5\"\u003e\u003ccode\u003e786aff8\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a66fb2138fec05d0ccbec07aba926c62f692e54\"\u003e\u003ccode\u003e0a66fb2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cd8545493fb93990034989cb24c7f151fe7af200\"\u003e\u003ccode\u003ecd85454\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/27d56447889f2c96bf1fda35929c7bf5add1cbad\"\u003e\u003ccode\u003e27d5644\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f2866c2057eb1c638c9aed9acf1e487eb7b4a93\"\u003e\u003ccode\u003e5f2866c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.73\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.75\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.14.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: upgrade pg8000 due to CVE-2025-61385 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3225\"\u003eaws/aws-sdk-pandas#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support redshift \u003ccode\u003eCLEANPATH\u003c/code\u003e by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3211\"\u003eaws/aws-sdk-pandas#3211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add result reuse configuration to query execution functions by \u003ca href=\"https://github.com/DavidKatz-il\"\u003e\u003ccode\u003e@​DavidKatz-il\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3212\"\u003eaws/aws-sdk-pandas#3212\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add \u003ccode\u003es3_output\u003c/code\u003e parameter to \u003ccode\u003e_start_query_execution\u003c/code\u003e call in \u0026quot;overwrite\u0026quot; mode by \u003ca href=\"https://github.com/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: iceberg overwrite partitions with s3 output by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3220\"\u003eaws/aws-sdk-pandas#3220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Correct MemoryFormat.set() Parameter Type Annotation by \u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize AWS_SESSION_TOKEN=None to empty string for delta-rs compatibility by \u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3208\"\u003eaws/aws-sdk-pandas#3208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pyarrow constraints by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3210\"\u003eaws/aws-sdk-pandas#3210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3213\"\u003eaws/aws-sdk-pandas#3213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/setup-node from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3214\"\u003eaws/aws-sdk-pandas#3214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace deprecated pr linting action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3215\"\u003eaws/aws-sdk-pandas#3215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 3.14.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3227\"\u003eaws/aws-sdk-pandas#3227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update Snyk action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3228\"\u003eaws/aws-sdk-pandas#3228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix incorrect license field by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3229\"\u003eaws/aws-sdk-pandas#3229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update layers.rst by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3230\"\u003eaws/aws-sdk-pandas#3230\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/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\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/aws/aws-sdk-pandas/commit/20193b48db3a0e57d26a344e646811495e0c4e46\"\u003e\u003ccode\u003e20193b4\u003c/code\u003e\u003c/a\u003e Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d1c7910e3b3bb125733c9f0318f4e639e7e13d1f\"\u003e\u003ccode\u003ed1c7910\u003c/code\u003e\u003c/a\u003e pin pyarrow in lambda layer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/3521ddc6ae4f19ce6faaf43c34d1b3575b267d6b\"\u003e\u003ccode\u003e3521ddc\u003c/code\u003e\u003c/a\u003e chore: Release 3.14.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3227\"\u003e#3227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2371f80eead3b17d344a3a39794610e61e082e1f\"\u003e\u003ccode\u003e2371f80\u003c/code\u003e\u003c/a\u003e fix(delta-rs): normalize AWS_SESSION_TOKEN=None to empty string for delta-rs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/9b843841000fbbe0d0aa91f6b0becc0c459204a2\"\u003e\u003ccode\u003e9b84384\u003c/code\u003e\u003c/a\u003e Correct MemoryFormat.set() Parameter Type Annotation (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f5980f2adbd561f73564cfdbfd4e268b2c41fccd\"\u003e\u003ccode\u003ef5980f2\u003c/code\u003e\u003c/a\u003e chore: upgrade pg8000 due to a CVE-2025-61385 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/ed4057e0d835585d72a434c284ee7f74fd6e9d33\"\u003e\u003ccode\u003eed4057e\u003c/code\u003e\u003c/a\u003e fix: iceberg overwrite partitions with s3 output (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d425c500a2e2a30b3ac537e24bf34b900432215b\"\u003e\u003ccode\u003ed425c50\u003c/code\u003e\u003c/a\u003e [FIX] Add s3_output parameter to _start_query_execution call in \u0026quot;overwrite\u0026quot; m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/294f35e4dd2c41ff5a1a0bc92c9134533355692a\"\u003e\u003ccode\u003e294f35e\u003c/code\u003e\u003c/a\u003e chore: replace pr linting action (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c81581ca40579735cd0caa6e91f1fa5d2c3b46d7\"\u003e\u003ccode\u003ec81581c\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-node in the github-actions group (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3214\"\u003e#3214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3447f9603cfa0e9fe9d9c83d5bd5fb0bfe08a598\"\u003e\u003ccode\u003e3447f96\u003c/code\u003e\u003c/a\u003e Forward port entry kindversion error improvement, bump version to 4.1.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2dbe03ae34c36e7d04bec7e63822ebcbbed362aa\"\u003e\u003ccode\u003e2dbe03a\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1572\"\u003e#1572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/02daa6970d0eaff526fd846efd6af46067206618\"\u003e\u003ccode\u003e02daa69\u003c/code\u003e\u003c/a\u003e build(deps): bump rich from 14.1.0 to 14.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/16159399b18178aa87001b1e13b7c730be6d36b6\"\u003e\u003ccode\u003e1615939\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1568\"\u003e#1568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/72b658140bd3718aa9bba955d2ec87a8de6cb7bb\"\u003e\u003ccode\u003e72b6581\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.4 to \u0026lt;0.14.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1567\"\u003e#1567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/64dbeba7394b028ac6e75ddf5f4b1875b4571631\"\u003e\u003ccode\u003e64dbeba\u003c/code\u003e\u003c/a\u003e cli: Support using other Sigstore instances (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1548\"\u003e#1548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/508b0e77ec9e04e6aecc09b8b476ff4937bed538\"\u003e\u003ccode\u003e508b0e7\u003c/code\u003e\u003c/a\u003e build(deps): bump softprops/action-gh-release in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1563\"\u003e#1563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/e31f481006755785e0fffc8a040e81e31aeee5b1\"\u003e\u003ccode\u003ee31f481\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.3 to \u0026lt;0.13.4 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1562\"\u003e#1562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/dec897bbda882b0d9f694da60047044c0f649468\"\u003e\u003ccode\u003edec897b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1561\"\u003e#1561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/0a54b4fce6a26150954c9eea8ed3720af27f06bf\"\u003e\u003ccode\u003e0a54b4f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.1 to 46.0.2 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.6.0...google-cloud-documentai-v3.7.0\"\u003e3.7.0\u003c/a\u003e (2025-10-16)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe field \u003ccode\u003etraining_method\u003c/code\u003e in \u003ccode\u003eTrainProcessorVersionRequest\u003c/code\u003e is now marked as optional  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etraining_method\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.TrainProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eprocessor_version_source\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ImportProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.Processor\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new messages \u003ccode\u003eEntityValidationOutput\u003c/code\u003e and \u003ccode\u003eEntitiesRevision\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new fields \u003ccode\u003eentity_validation_output\u003c/code\u003e, \u003ccode\u003eentities_revisions\u003c/code\u003e, and \u003ccode\u003eentities_revision_id\u003c/code\u003e to the \u003ccode\u003eDocument\u003c/code\u003e message  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003esignature_value\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntitiesRevision\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revisions\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentity_validation_output\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.DocumentSchema\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new enum \u003ccode\u003eMethod\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/81","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/81","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/81/packages"},{"uuid":"3624486132","node_id":"PR_kwDOQVZ2xs6zZZZb","number":4,"state":"closed","title":"build(deps): bump the dependencies group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T02:11:22.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-14T08:10:15.000Z","updated_at":"2026-01-13T02:11:24.000Z","time_to_close":5162467,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"dependencies","update_count":6,"packages":[{"name":"securesystemslib","old_version":"1.0.0","new_version":"1.3.1"},{"name":"attrs","old_version":"23.2.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"cffi","old_version":"1.16.0","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cryptography","old_version":"42.0.7","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"six","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/benjaminp/six"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib[crypto]](https://github.com/secure-systems-lab/securesystemslib) | `1.0.0` | `1.3.1` |\n| [attrs](https://github.com/sponsors/hynek) | `23.2.0` | `25.4.0` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.16.0` | `2.0.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `42.0.7` | `46.0.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |\n\nUpdates `securesystemslib[crypto]` from 1.0.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib[crypto]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.2.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.1.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib[crypto]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.3.0\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003ehash\u003c/code\u003e module will be removed in the next major version. Consider using\n\u003ccode\u003ehashlib\u003c/code\u003e from the standard library directly instead.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotate library (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate hash module (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/977\"\u003e#977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernize license metadata (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor signing scheme parsing (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMisc test and ci/cd improvements (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/926\"\u003e#926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/953\"\u003e#953\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/958\"\u003e#958\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/965\"\u003e#965\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/966\"\u003e#966\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.2.0\u003c/h2\u003e\n\u003cp\u003eSmall release with mostly internal changes.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/L77H\"\u003e\u003ccode\u003e@​L77H\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/NicholasTanz\"\u003e\u003ccode\u003e@​NicholasTanz\u003c/code\u003e\u003c/a\u003e for the bulk of the work on this release.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eecdsa-sha2-nistp521 supported in signer API (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSigstoreSigner now has a convenience function for creating a signing\nidentity for GitHub Actions workflow (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/842\"\u003e#842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLinting refactoring, switched to ruff\u003c/li\u003e\n\u003cli\u003eModern annotations used in most of the code base\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.1.0\u003c/h2\u003e\n\u003cp\u003eThis is a small release that only re-enables the use of SigstoreSigner.\nNote that SigstoreSigner and SigstoreKey are still not part of the default\nset of supported signers \u0026amp; keys but now they can be enabled.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSigstoreSigner: Re-enable compatibility with Sigstore (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/781\"\u003e#781\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.0.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 23.2.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cffi` from 1.16.0 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\u003ch2\u003ev1.17.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing \u003ccode\u003edistutils.msvc9compiler\u003c/code\u003e imports under Windows (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/118\"\u003e#118\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003effibuilder.emit_python_code()\u003c/code\u003e and \u003ccode\u003effibuiler.emit_c_code()\u003c/code\u003e accept file-like objects (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/115\"\u003e#115\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003effiplatform\u003c/code\u003e calls are bypassed by \u003ccode\u003effibuilder.emit_python_code()\u003c/code\u003e and \u003ccode\u003effibuilder.emit_c_code()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/81\"\u003e#81\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.0...v1.17.1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\n\u003cul\u003e\n\u003cli\u003eFree-threaded CPython builds (i.e. \u003ccode\u003epython3.13t\u003c/code\u003e and the \u003ccode\u003e3.13t\u003c/code\u003e ABI) are not currently supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eIn API mode, when you get a function from a C library by writing\n\u003ccode\u003efn = lib.myfunc\u003c/code\u003e, you get an object of a special type for performance\nreasons, instead of a \u003ccode\u003e\u0026lt;cdata 'C-function-type'\u0026gt;\u003c/code\u003e.  Before version 1.17\nyou could only call such objects.  You could write\n\u003ccode\u003effi.addressof(lib, \u0026quot;myfunc\u0026quot;)\u003c/code\u003e in order to get a real \u003ccode\u003e\u0026lt;cdata\u0026gt;\u003c/code\u003e object,\nbased on the idea that in these cases in C you'd usually write \u003ccode\u003e\u0026amp;myfunc\u003c/code\u003e\ninstead of \u003ccode\u003emyfunc\u003c/code\u003e.  In version 1.17, the special object\n\u003ccode\u003elib.myfunc\u003c/code\u003e can now be passed in many places where CFFI expects\na regular \u003ccode\u003e\u0026lt;cdata\u0026gt;\u003c/code\u003e object.  For example, you can now pass\nit as a callback to a C function call, or write it inside a C\nstructure field of the correct pointer-to-function type, or use\n\u003ccode\u003effi.cast()\u003c/code\u003e or \u003ccode\u003effi.typeof()\u003c/code\u003e on it.\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.16.0...v1.17.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.16.0...v1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eIn API mode, when you get a function from a C library by writing fn = lib.myfunc, you get an object of a special type for performance reasons, instead of a \u0026lt;cdata ‘C-function-type’\u0026gt;. Before version 1.17 you could only call such objects. You could write ffi.addressof(lib, “myfunc”) in order to get a real \u003c!-- raw HTML omitted --\u003e object, based on the idea that in these cases in C you’d usually write \u0026amp;myfunc instead of myfunc. In version 1.17, the special object lib.myfunc can now be passed in many places where CFFI expects a regular \u003c!-- raw HTML omitted --\u003e object. For example, you can now pass it as a callback to a C function call, or write it inside a C structure field of the correct pointer-to-function type, or use ffi.cast() or ffi.typeof() on it.\u003c/li\u003e\n\u003cli\u003eBuild wheels for musllinux aarch64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-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.16.0...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 42.0.7 to 46.0.3\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.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/42.0.7...46.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycparser` from 2.22 to 2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eliben/pycparser/releases\"\u003epycparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease_v2.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow abstract declarator \u0026quot;static\u0026quot; (GH issue \u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/539\"\u003e#539\u003c/a\u003e) by \u003ca href=\"https://github.com/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/550\"\u003eeliben/pycparser#550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dirent and socket typedefs. by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for labels with no statement by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept empty 'case' or 'default' labels by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/564\"\u003eeliben/pycparser#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve parentheses for statement exprs by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hex float types by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/567\"\u003eeliben/pycparser#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit error for comments, with README link by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eshowemptyattrs option on Node.show() by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/570\"\u003eeliben/pycparser#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fake typedefs for GNU Extension 128-bit integers. by \u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypedef for __kernel_sa_family_t in linux/socket.h by \u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\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/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ehttps://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\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/eliben/pycparser/commit/5b60167602e7914139b3e277266ccdff5c24dbf2\"\u003e\u003ccode\u003e5b60167\u003c/code\u003e\u003c/a\u003e Prepare for release 2.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7b24736bbb875a5c6c6f0520412f03aace75d0ee\"\u003e\u003ccode\u003e7b24736\u003c/code\u003e\u003c/a\u003e Typedef for __kernel_sa_family_t in _fake_typedefs.h (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/90184f1f4eb1234fb9e7ae0c8b74eab9ea963482\"\u003e\u003ccode\u003e90184f1\u003c/code\u003e\u003c/a\u003e Add fake typedefs for GNU Extension 128-bit integers. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/f04fdcde3d95be4a632948718d0c46eac09c50ce\"\u003e\u003ccode\u003ef04fdcd\u003c/code\u003e\u003c/a\u003e showemptyattrs option on Node.show() (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/156eae7f42843d8a3e78a68995d9cc7485577e38\"\u003e\u003ccode\u003e156eae7\u003c/code\u003e\u003c/a\u003e Explicit error for comments, with README link (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/2215299261306df71e2cec23bb3acd7b8f31f8db\"\u003e\u003ccode\u003e2215299\u003c/code\u003e\u003c/a\u003e fix: hex float types (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/037bd31d4e0e69e8c4d80e45311ae46abc15dd4e\"\u003e\u003ccode\u003e037bd31\u003c/code\u003e\u003c/a\u003e fix: preserve parentheses for statement exprs (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/9cecc090151b31d8821786bca3b25851a4a33272\"\u003e\u003ccode\u003e9cecc09\u003c/code\u003e\u003c/a\u003e Accept empty 'case' or 'default' labels (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7ae671d3ac44e1000bcbe7108b24bdb9187443ac\"\u003e\u003ccode\u003e7ae671d\u003c/code\u003e\u003c/a\u003e Support for labels with no statement (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/42b542324859a108f2cf35bcfe21fe5877ceb091\"\u003e\u003ccode\u003e42b5423\u003c/code\u003e\u003c/a\u003e Add dirent and socket typedefs. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `six` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benjaminp/six/blob/main/CHANGES\"\u003esix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePull request \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/388\"\u003e#388\u003c/a\u003e: Remove \u003ccode\u003eURLopener\u003c/code\u003e and \u003ccode\u003eFancyURLopener\u003c/code\u003e classes from\n\u003ccode\u003eurllib.request\u003c/code\u003e when running on Python 3.14 or greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull request \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/365\"\u003e#365\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/283\"\u003e#283\u003c/a\u003e: \u003ccode\u003esix.moves.UserDict\u003c/code\u003e now points to\n\u003ccode\u003eUserDict.IterableUserDict\u003c/code\u003e instead of \u003ccode\u003eUserDict.UserDict\u003c/code\u003e on Python 2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/ebd9b3af90247b8858d415a05e96e9ee61e48d07\"\u003e\u003ccode\u003eebd9b3a\u003c/code\u003e\u003c/a\u003e six 1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/40d248e516ae9bb32221a417de49a3d2fd9e39c1\"\u003e\u003ccode\u003e40d248e\u003c/code\u003e\u003c/a\u003e Expunge travis.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/dd7940e4b8760c620e61dd0e99ec0e60ee759fc8\"\u003e\u003ccode\u003edd7940e\u003c/code\u003e\u003c/a\u003e Add PyPI publication workflow. (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/8cb688f32f24b6ebe94938b15e92ec5c75dd8f12\"\u003e\u003ccode\u003e8cb688f\u003c/code\u003e\u003c/a\u003e Update copyright years.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/86f89c5da1488463a00bd090c8f9e29aeabf6a10\"\u003e\u003ccode\u003e86f89c5\u003c/code\u003e\u003c/a\u003e Add a GitHub actions CI workflow. (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/06430b9fc66e3912bea2c0a2d13b22d7054a9ac7\"\u003e\u003ccode\u003e06430b9\u003c/code\u003e\u003c/a\u003e Make test_getoutput work on Windows.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/ceddaf2d0a45cf3a19ce0ac63a24ca4ffc76ba7c\"\u003e\u003ccode\u003eceddaf2\u003c/code\u003e\u003c/a\u003e Add a changelog for \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/314\"\u003e#314\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/9a05aab157c79647aa11c49f31a6bff5b18404a5\"\u003e\u003ccode\u003e9a05aab\u003c/code\u003e\u003c/a\u003e Python 3.14 removed the URLopener and FancyURLopener  classes from urllib.req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/c1b416f24de52ebd8eaed3e379ab85ec9c3e935b\"\u003e\u003ccode\u003ec1b416f\u003c/code\u003e\u003c/a\u003e Fix deprecation warning from setuptools (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/02c3bcab0b94eb7a86f6606bc8b02e3ee0a72860\"\u003e\u003ccode\u003e02c3bca\u003c/code\u003e\u003c/a\u003e tkinter.tix was removed from Python 3.13, skip the test (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benjaminp/six/compare/1.16.0...1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ncesnagoya/in-toto/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncesnagoya%2Fin-toto/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3544110734","node_id":"PR_kwDOHsAm8s6vPECC","number":831,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-10T11:33:08.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-23T10:33:50.000Z","updated_at":"2025-11-10T11:33:11.000Z","time_to_close":1558758,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":20,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.0.0","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.17.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.57","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.0.0` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.17.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.3` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.57` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.31.0` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.11.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `redis` from 6.4.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eOne of the main features introduced in this release is a new type of client \u003ccode\u003eMultiDBClient\u003c/code\u003e. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.\nMore information could be found in docs.\u003c/p\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for maintenance push notifications handling during server upgrade or maintenance procedures. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3756\"\u003e#3756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3779\"\u003e#3779\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding WITHATTRIBS option to vector set's vsim command. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding ssl_verify_flags_config argument for ssl connection configuration (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3772\"\u003e#3772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3808\"\u003e#3808\u003c/a\u003e)\n\u003cstrong\u003eNote\u003c/strong\u003e Not supported with hiredis parser. When hiredis parser is used this server response is mapped to ResponseError\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-database client implementation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3784\"\u003e#3784\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding abstract method declaration for cache property setter in EvictionPolicyInterface(\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3732\"\u003e#3732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused parse_list_to_dict function from helpers (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3733\"\u003e#3733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving synchronous context manager handling from async RedisCluster. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedis Search/Aggregate improved type annotations (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3676\"\u003e#3676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ping command docstrings and method return type hint (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing several *arg type hints in core.py and json module commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3666\"\u003e#3666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging the timeout typehint in async BlockingConnectionPool from int to float (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3801\"\u003e#3801\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix docstring for ssl_check_hostname (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3761\"\u003e#3761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in vectorset commands.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in query.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3718\"\u003e#3718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in cluster.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3717\"\u003e#3717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in core.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Redis image versions for GH pipeline actions. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the customization of the timeout parameter when using a blocking connection pool with a redis cluster (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3724\"\u003e#3724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async clients safety when used as an async context manager (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3512\"\u003e#3512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix zadd command parameter description (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3727\"\u003e#3727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFault injector boilerplate (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding e2e scenario tests for maintenance push notifications handling. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding more e2e tests related to maintenance notifications. Extracting specific tests that validate notifications are received in new connections (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3770\"\u003e#3770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRenaming of classes and configuration arguments related to maintenance push notifications handling during server upgrade or maintenance procedures (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDOC-5743 BITOP examples (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3776\"\u003e#3776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove stale issue management workflow (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[DOC] Add complex chaining example using pipelines with builder pattern (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix automation scenario maint notification (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3788\"\u003e#3788\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/redis/redis-py/commit/7a4e8bc42a1cbda6b1e8e2e1dfbe8a94766e07f9\"\u003e\u003ccode\u003e7a4e8bc\u003c/code\u003e\u003c/a\u003e Updating package version to 7.0.0 and supported redis versions in readme.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/64a2721d6b0303e7a723066530b467145ee10841\"\u003e\u003ccode\u003e64a2721\u003c/code\u003e\u003c/a\u003e Refactor healthcheck to use PING instead of ECHO (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/24a7a1027bd6390e161c1c88be35c8acb242833d\"\u003e\u003ccode\u003e24a7a10\u003c/code\u003e\u003c/a\u003e Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/32ba6d89d2061a44c0c3f36d249fb9929836fca6\"\u003e\u003ccode\u003e32ba6d8\u003c/code\u003e\u003c/a\u003e DOC-5821 update index/query example for runnable notebook (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/c1e566f9fbd99912d7073b871eeda76d70f61b63\"\u003e\u003ccode\u003ec1e566f\u003c/code\u003e\u003c/a\u003e Add handling of empty spaces during CLIENT LIST response parsing (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/295bec67ddbf99c205376483f08a3ddebb72f2b2\"\u003e\u003ccode\u003e295bec6\u003c/code\u003e\u003c/a\u003e Adding new ExternalAuthProviderError that will be raised when we receive 'pro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/52c700379eee9c4d32244c905cd993ea02cb0d81\"\u003e\u003ccode\u003e52c7003\u003c/code\u003e\u003c/a\u003e Fixing sync BlockingConnectionPool's disconnect method to follow the definiti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/1ac80f64a21cb442ca9f4880dd34782c9b022e77\"\u003e\u003ccode\u003e1ac80f6\u003c/code\u003e\u003c/a\u003e Changing the timeout typehint in async BlockingConnectionPool from int to flo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f9bc0348143184377fd9c9771bee61fdf507803e\"\u003e\u003ccode\u003ef9bc034\u003c/code\u003e\u003c/a\u003e Adding score_cast_func argument to zrank, zrevrank and zunion - for consisten...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/0768fbee450b73cb554565cb01192d7fe17db713\"\u003e\u003ccode\u003e0768fbe\u003c/code\u003e\u003c/a\u003e Update Python version to 3.14 in hiredis CI workflow (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.0\u003c/h1\u003e\n\u003cp\u003eReleased: October 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [tests]\u003c/strong\u003e The top-level test runner has been changed to use \u003ccode\u003enox\u003c/code\u003e, adding a\n\u003ccode\u003enoxfile.py\u003c/code\u003e as well as some included modules.   The \u003ccode\u003etox.ini\u003c/code\u003e file\nremains in place so that \u003ccode\u003etox\u003c/code\u003e runs will continue to function in the near\nterm, however it will be eventually removed and improvements and\nmaintenance going forward will be only towards \u003ccode\u003enoxfile.py\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [general]\u003c/strong\u003e The minimum Python version is now 3.10, as Python 3.9 is EOL.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.1 2025-10-13\u003c/h2\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1a8850d101e67d2744ba8c6286e1172d7cd89d0b\"\u003e\u003ccode\u003e1a8850d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/09dbcf29c73c3fd7fd3ef1edfebe357e807cc9ca\"\u003e\u003ccode\u003e09dbcf2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5da43310ec61a7b9b3017b2b9f388e778398a1bc\"\u003e\u003ccode\u003e5da4331\u003c/code\u003e\u003c/a\u003e Improve documentation about serialize as any behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/9c863245ad3799ab331f33b52e2d7441e9c1191e\"\u003e\u003ccode\u003e9c86324\u003c/code\u003e\u003c/a\u003e Raise a warning when an invalid after model validator function signature is r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/36a73c6ed53df7f1cad3343bc811e1dd3f52d26f\"\u003e\u003ccode\u003e36a73c6\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epydantic-extra-types\u003c/code\u003e dependency to version \u003ccode\u003e\u0026gt;=2.10.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1e616a3a6fa0201f840c08143cac883e56a2d9df\"\u003e\u003ccode\u003e1e616a3\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc302e2d09f0eed14729f69bc61a258f1f35d35c\"\u003e\u003ccode\u003edc302e2\u003c/code\u003e\u003c/a\u003e Fix issue with recursive generic models with a parent model class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6876485d0cffeb66c915695574344ae4b03645a7\"\u003e\u003ccode\u003e6876485\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21\"\u003e\u003ccode\u003eb4076c6\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41\"\u003e\u003ccode\u003eb67f072\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.57\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/43407ff84649f0d16c50fc87b69cb716a1ebc6c7\"\u003e\u003ccode\u003e43407ff\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.57'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cb3d0c727b26c5648777cb50f66503c6daf5036f\"\u003e\u003ccode\u003ecb3d0c7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.57\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/11328420285e28e0b3795596824d3f60370d9708\"\u003e\u003ccode\u003e1132842\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/69f915b4cf1961db9395db23e10c7210ad7a6814\"\u003e\u003ccode\u003e69f915b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.56'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1c2dc637c65e8178f9b3afd61977f45cb153a6ab\"\u003e\u003ccode\u003e1c2dc63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.56' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/94dd6caaa7d4e75192fe3ca131f9fd180a557f8b\"\u003e\u003ccode\u003e94dd6ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.56\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7f7a418fa31e3e0b2212d9d88ec9292c8f1a7e12\"\u003e\u003ccode\u003e7f7a418\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eb5f82773991f715b62dc38f6801d76d1035a868\"\u003e\u003ccode\u003eeb5f827\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/849b54b57300b4442f71a74b7e6f8d9230fb63e4\"\u003e\u003ccode\u003e849b54b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/52a3496b66a6ff66755c4315c55f22b07826e758\"\u003e\u003ccode\u003e52a3496\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.57\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3447f9603cfa0e9fe9d9c83d5bd5fb0bfe08a598\"\u003e\u003ccode\u003e3447f96\u003c/code\u003e\u003c/a\u003e Forward port entry kindversion error improvement, bump version to 4.1.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2dbe03ae34c36e7d04bec7e63822ebcbbed362aa\"\u003e\u003ccode\u003e2dbe03a\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1572\"\u003e#1572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/02daa6970d0eaff526fd846efd6af46067206618\"\u003e\u003ccode\u003e02daa69\u003c/code\u003e\u003c/a\u003e build(deps): bump rich from 14.1.0 to 14.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/16159399b18178aa87001b1e13b7c730be6d36b6\"\u003e\u003ccode\u003e1615939\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1568\"\u003e#1568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/72b658140bd3718aa9bba955d2ec87a8de6cb7bb\"\u003e\u003ccode\u003e72b6581\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.4 to \u0026lt;0.14.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1567\"\u003e#1567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/64dbeba7394b028ac6e75ddf5f4b1875b4571631\"\u003e\u003ccode\u003e64dbeba\u003c/code\u003e\u003c/a\u003e cli: Support using other Sigstore instances (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1548\"\u003e#1548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/508b0e77ec9e04e6aecc09b8b476ff4937bed538\"\u003e\u003ccode\u003e508b0e7\u003c/code\u003e\u003c/a\u003e build(deps): bump softprops/action-gh-release in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1563\"\u003e#1563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/e31f481006755785e0fffc8a040e81e31aeee5b1\"\u003e\u003ccode\u003ee31f481\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.3 to \u0026lt;0.13.4 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1562\"\u003e#1562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/dec897bbda882b0d9f694da60047044c0f649468\"\u003e\u003ccode\u003edec897b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1561\"\u003e#1561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/0a54b4fce6a26150954c9eea8ed3720af27f06bf\"\u003e\u003ccode\u003e0a54b4f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.1 to 46.0.2 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.6.0...google-cloud-documentai-v3.7.0\"\u003e3.7.0\u003c/a\u003e (2025-10-16)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe field \u003ccode\u003etraining_method\u003c/code\u003e in \u003ccode\u003eTrainProcessorVersionRequest\u003c/code\u003e is now marked as optional  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etraining_method\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.TrainProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eprocessor_version_source\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ImportProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.Processor\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new messages \u003ccode\u003eEntityValidationOutput\u003c/code\u003e and \u003ccode\u003eEntitiesRevision\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new fields \u003ccode\u003eentity_validation_output\u003c/code\u003e, \u003ccode\u003eentities_revisions\u003c/code\u003e, and \u003ccode\u003eentities_revision_id\u003c/code\u003e to the \u003ccode\u003eDocument\u003c/code\u003e message  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003esignature_value\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntitiesRevision\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revisions\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentity_validation_output\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.DocumentSchema\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new enum \u003ccode\u003eMethod\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntityValidationOutput\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revision_id\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eannotations\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate credentials_file argument  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1b6c82dedecc7f5cff09650ee204641577620751\"\u003e\u003ccode\u003e1b6c82d\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251016T234720Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14754\"\u003e#14754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/32b32eff99a3312711e116b75d12aabffa06a869\"\u003e\u003ccode\u003e32b32ef\u003c/code\u003e\u003c/a\u003e chore(librarian): Delete grpc-google-iam-v1/.OwlBot.yaml (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14747\"\u003e#14747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d0ebbba25ce500e39e43635e4d55ca8f3226fa0e\"\u003e\u003ccode\u003ed0ebbba\u003c/code\u003e\u003c/a\u003e chore(librarian): onboard google-cloud-gke-hub (\u003ca href=\"...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-worker/pull/831","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-worker/issues/831","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/831/packages"},{"uuid":"3509784954","node_id":"PR_kwDOIPyH4s6tcwE4","number":57,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-31T11:09:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T12:02:11.000Z","updated_at":"2025-10-31T11:09:19.000Z","time_to_close":1552025,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":32,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.3","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.50","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.3` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.50` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.31.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78f25499397fbcc9876a331732931d188b760b4a\"\u003e\u003ccode\u003e78f2549\u003c/code\u003e\u003c/a\u003e fix subcommand discovery (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 suppo...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/57","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/57","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/57/packages"},{"uuid":"3509687694","node_id":"PR_kwDOHGh5u86tcags","number":911,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-31T10:43:52.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T11:34:46.000Z","updated_at":"2025-10-31T10:43:54.000Z","time_to_close":1552146,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":32,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.3","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.50","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.3` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.50` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.31.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78f25499397fbcc9876a331732931d188b760b4a\"\u003e\u003ccode\u003e78f2549\u003c/code\u003e\u003c/a\u003e fix subcommand discovery (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 suppo...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/911","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/911","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/911/packages"},{"uuid":"2893509065","node_id":"PR_kwDOHGh5u86sd3HJ","number":910,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T10:42:01.000Z","updated_at":"2025-10-07T10:42:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":31,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.2","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.46","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.3","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.46` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\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/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/910","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/910","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/910/packages"},{"uuid":"2893507894","node_id":"PR_kwDOINe-us6sd202","number":108,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T10:41:41.000Z","updated_at":"2025-10-07T10:41:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":31,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.2","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.46","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.3","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.46` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\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/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"},{"uuid":"2881390952","node_id":"PR_kwDOIPyH4s6rvolo","number":55,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-02T11:03:17.000Z","updated_at":"2025-10-02T11:03:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"2881346491","node_id":"PR_kwDOIPxgHc6rvdu7","number":73,"state":"open","title":"build(deps): bump the python-deps group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-02T10:47:47.000Z","updated_at":"2025-10-02T10:47:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":15,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"alembic","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.16.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.43` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.0.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.6.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.10.7` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\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/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\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/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13659\"\u003e#13659\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/59bfd42cf8a2eaeed696a7504890bce5aae815ce\"\u003e59bfd42\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5e2ba929d44fefe28a3376a74344d314ea8c3f99\"\u003e\u003ccode\u003e5e2ba92\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14505\"\u003e#14505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ac6a7213bd0fee9291ae0ab8aa0009cc334b0156\"\u003e\u003ccode\u003eac6a721\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-texttospeech] add Gemini TTS Multispeaker API fields (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6842396f3662264aa1beca9a5a08f9d0f171483a\"\u003e\u003ccode\u003e6842396\u003c/code\u003e\u003c/a\u003e docs: [google-cloud-cloudsecuritycompliance] updated documentation for APIs (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/94387fbab5eb311da34cebfbd6f5f599f8078a18\"\u003e\u003ccode\u003e94387fb\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-dataplex] A new service \u003ccode\u003eBusinessGlossaryService\u003c/code\u003e is adde...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/709f283915c348c549ddba1b56a133c192e6caae\"\u003e\u003ccode\u003e709f283\u003c/code\u003e\u003c/a\u003e chore: add link to PyPI history in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14506\"\u003e#14506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/26730096e491346f02af2a82138224a110485e74\"\u003e\u003ccode\u003e2673009\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20250919T072957Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14501\"\u003e#14501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/db0680bd38e8707d5eb974b1b820cf9219a61463\"\u003e\u003ccode\u003edb0680b\u003c/code\u003e\u003c/a\u003e chore: remove obsolete scripts (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14444\"\u003e#14444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/8be8e45fe4b0e1e0885b870a4d8dd9793a9a5cd4\"\u003e\u003ccode\u003e8be8e45\u003c/code\u003e\u003c/a\u003e chore: remove testing/.gitignore (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14445\"\u003e#14445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5877dca12c8c5171e924bd1a30263b04b9ecbc3b\"\u003e\u003ccode\u003e5877dca\u003c/code\u003e\u003c/a\u003e chore: remove redundant files (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14446\"\u003e#14446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f9fc5fccd48d87af3edb9668e5e962d097457d58\"\u003e\u003ccode\u003ef9fc5fc\u003c/code\u003e\u003c/a\u003e fix!: Moved Company enums to a separate file (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14455\"\u003e#14455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\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.5 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.5...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/i...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/73","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/73","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/73/packages"},{"uuid":"2881327196","node_id":"PR_kwDOINe-us6rvZBc","number":107,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-07T10:39:41.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-02T10:41:19.000Z","updated_at":"2025-10-07T10:39:41.000Z","time_to_close":431902,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.5 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.5...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"},{"uuid":"2881326369","node_id":"PR_kwDOHGh5u86rvY0h","number":909,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T10:41:02.000Z","updated_at":"2025-10-02T10:41:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/909","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/909","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/909/packages"},{"uuid":"3466978689","node_id":"PR_kwDOAHkylc6rNTIu","number":2870,"state":"open","title":"build(deps): bump securesystemslib from 1.3.0 to 1.3.1 in the dependencies group","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T23:26:38.000Z","updated_at":"2025-09-29T23:30:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"}],"path":"the dependencies group","ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update: [securesystemslib](https://github.com/secure-systems-lab/securesystemslib).\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=securesystemslib\u0026package-manager=pip\u0026previous-version=1.3.0\u0026new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/theupdateframework/python-tuf/pull/2870","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theupdateframework%2Fpython-tuf/issues/2870","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2870/packages"},{"uuid":"2872256423","node_id":"PR_kwDOA4xgiM6rMyen","number":890,"state":"closed","title":"Bump the dependencies group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-30T06:56:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T22:20:10.000Z","updated_at":"2025-09-30T06:56:57.000Z","time_to_close":31007,"merged_at":"2025-09-30T06:56:57.000Z","merged_by":"lukpueh","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":4,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.1","repository_url":"https://github.com/pyca/cryptography"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the dependencies group with 4 updates: [securesystemslib[crypto]](https://github.com/secure-systems-lab/securesystemslib), [cffi](https://github.com/python-cffi/cffi), [cryptography](https://github.com/pyca/cryptography) and [pycparser](https://github.com/eliben/pycparser).\n\nUpdates `securesystemslib[crypto]` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib[crypto]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib[crypto]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\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 `cryptography` from 45.0.5 to 46.0.1\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.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\u003c/p\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e076d08ee42da5daa432d1d145b8bee2dc0d5b44\"\u003e\u003ccode\u003ee076d08\u003c/code\u003e\u003c/a\u003e Attempt to fix commit message for bump downstreams (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13440\"\u003e#13440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6835ce899e03215689964f5f28bd88b86d3e60ca\"\u003e\u003ccode\u003e6835ce8\u003c/code\u003e\u003c/a\u003e Put correct version bounds for pyenchant in pins (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13441\"\u003e#13441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycparser` from 2.22 to 2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eliben/pycparser/releases\"\u003epycparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease_v2.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow abstract declarator \u0026quot;static\u0026quot; (GH issue \u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/539\"\u003e#539\u003c/a\u003e) by \u003ca href=\"https://github.com/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/550\"\u003eeliben/pycparser#550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dirent and socket typedefs. by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for labels with no statement by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept empty 'case' or 'default' labels by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/564\"\u003eeliben/pycparser#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve parentheses for statement exprs by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hex float types by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/567\"\u003eeliben/pycparser#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit error for comments, with README link by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eshowemptyattrs option on Node.show() by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/570\"\u003eeliben/pycparser#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fake typedefs for GNU Extension 128-bit integers. by \u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypedef for __kernel_sa_family_t in linux/socket.h by \u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\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/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ehttps://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\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/eliben/pycparser/commit/5b60167602e7914139b3e277266ccdff5c24dbf2\"\u003e\u003ccode\u003e5b60167\u003c/code\u003e\u003c/a\u003e Prepare for release 2.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7b24736bbb875a5c6c6f0520412f03aace75d0ee\"\u003e\u003ccode\u003e7b24736\u003c/code\u003e\u003c/a\u003e Typedef for __kernel_sa_family_t in _fake_typedefs.h (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/90184f1f4eb1234fb9e7ae0c8b74eab9ea963482\"\u003e\u003ccode\u003e90184f1\u003c/code\u003e\u003c/a\u003e Add fake typedefs for GNU Extension 128-bit integers. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/f04fdcde3d95be4a632948718d0c46eac09c50ce\"\u003e\u003ccode\u003ef04fdcd\u003c/code\u003e\u003c/a\u003e showemptyattrs option on Node.show() (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/156eae7f42843d8a3e78a68995d9cc7485577e38\"\u003e\u003ccode\u003e156eae7\u003c/code\u003e\u003c/a\u003e Explicit error for comments, with README link (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/2215299261306df71e2cec23bb3acd7b8f31f8db\"\u003e\u003ccode\u003e2215299\u003c/code\u003e\u003c/a\u003e fix: hex float types (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/037bd31d4e0e69e8c4d80e45311ae46abc15dd4e\"\u003e\u003ccode\u003e037bd31\u003c/code\u003e\u003c/a\u003e fix: preserve parentheses for statement exprs (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/9cecc090151b31d8821786bca3b25851a4a33272\"\u003e\u003ccode\u003e9cecc09\u003c/code\u003e\u003c/a\u003e Accept empty 'case' or 'default' labels (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7ae671d3ac44e1000bcbe7108b24bdb9187443ac\"\u003e\u003ccode\u003e7ae671d\u003c/code\u003e\u003c/a\u003e Support for labels with no statement (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/42b542324859a108f2cf35bcfe21fe5877ceb091\"\u003e\u003ccode\u003e42b5423\u003c/code\u003e\u003c/a\u003e Add dirent and socket typedefs. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/in-toto/in-toto/pull/890","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-toto%2Fin-toto/issues/890","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/890/packages"},{"uuid":"2871139941","node_id":"PR_kwDOHGh5u86rIh5l","number":907,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T10:39:03.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T15:38:31.000Z","updated_at":"2025-10-02T10:39:03.000Z","time_to_close":241232,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cf...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/907","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/907","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/907/packages"},{"uuid":"2871005035","node_id":"PR_kwDOIPyH4s6rIA9r","number":53,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T11:01:20.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-09-29T15:01:01.000Z","updated_at":"2025-10-02T11:01:20.000Z","time_to_close":244819,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cf...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"},{"uuid":"2870798654","node_id":"PR_kwDOINe-us6rHOk-","number":106,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T10:38:59.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-09-29T14:05:02.000Z","updated_at":"2025-10-02T10:39:00.000Z","time_to_close":246837,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.5 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.5...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg ...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/106","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/106","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/106/packages"},{"uuid":"3465184588","node_id":"PR_kwDOIPxgHc6rHNZ2","number":71,"state":"open","title":"build(deps): bump the python-deps group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-29T14:03:34.000Z","updated_at":"2025-10-02T10:46:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":14,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"alembic","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-deps group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.16.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.40` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.0.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.6.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.10.7` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\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/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\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/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13659\"\u003e#13659\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/59bfd42cf8a2eaeed696a7504890bce5aae815ce\"\u003e59bfd42\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5e2ba929d44fefe28a3376a74344d314ea8c3f99\"\u003e\u003ccode\u003e5e2ba92\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14505\"\u003e#14505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ac6a7213bd0fee9291ae0ab8aa0009cc334b0156\"\u003e\u003ccode\u003eac6a721\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-texttospeech] add Gemini TTS Multispeaker API fields (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6842396f3662264aa1beca9a5a08f9d0f171483a\"\u003e\u003ccode\u003e6842396\u003c/code\u003e\u003c/a\u003e docs: [google-cloud-cloudsecuritycompliance] updated documentation for APIs (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/94387fbab5eb311da34cebfbd6f5f599f8078a18\"\u003e\u003ccode\u003e94387fb\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-dataplex] A new service \u003ccode\u003eBusinessGlossaryService\u003c/code\u003e is adde...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/709f283915c348c549ddba1b56a133c192e6caae\"\u003e\u003ccode\u003e709f283\u003c/code\u003e\u003c/a\u003e chore: add link to PyPI history in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14506\"\u003e#14506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/26730096e491346f02af2a82138224a110485e74\"\u003e\u003ccode\u003e2673009\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20250919T072957Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14501\"\u003e#14501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/db0680bd38e8707d5eb974b1b820cf9219a61463\"\u003e\u003ccode\u003edb0680b\u003c/code\u003e\u003c/a\u003e chore: remove obsolete scripts (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14444\"\u003e#14444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/8be8e45fe4b0e1e0885b870a4d8dd9793a9a5cd4\"\u003e\u003ccode\u003e8be8e45\u003c/code\u003e\u003c/a\u003e chore: remove testing/.gitignore (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14445\"\u003e#14445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5877dca12c8c5171e924bd1a30263b04b9ecbc3b\"\u003e\u003ccode\u003e5877dca\u003c/code\u003e\u003c/a\u003e chore: remove redundant files (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14446\"\u003e#14446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f9fc5fccd48d87af3edb9668e5e962d097457d58\"\u003e\u003ccode\u003ef9fc5fc\u003c/code\u003e\u003c/a\u003e fix!: Moved Company enums to a separate file (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14455\"\u003e#14455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\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.5 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.5...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.18.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash on recursive alias (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19845\"\u003e19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional guidance for stubtest errors when runtime is \u003ccode\u003eobject.__init__\u003c/code\u003e (Stephen Morton, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19733\"\u003e19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of None values in f-string expressions in mypyc (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19846\"\u003e19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003eAnthony Sottile\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDaniel Hnyk\u003c/li\u003e\n\u003cli\u003eEmily\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJahongir Qurbonov\u003c/li\u003e\n\u003cli\u003eJelle Zijlstra\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eOmer Hadari\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003ePrinceNaroliya\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eRobsdedude\u003c/li\u003e\n\u003cli\u003eSaul Shanabrook\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.17\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.17 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features and bug fixes.\nYou can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/df05f05555ee62dbdb9960c64cad186172e92be1\"\u003e\u003ccode\u003edf05f05\u003c/code\u003e\u003c/a\u003e remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/01a7a1285d03cb7a330359b22cb462aacb5f9720\"\u003e\u003ccode\u003e01a7a12\u003c/code\u003e\u003c/a\u003e Update changelog for 1.18.2 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19873\"\u003e#19873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ca5abf09f3bfc543ac9c18a364696bc5da20bc03\"\u003e\u003ccode\u003eca5abf0\u003c/code\u003e\u003c/a\u003e Typeshed cherry-pick: Make type of \u003ccode\u003eunitest.mock.Any\u003c/code\u003e a subclass of \u003ccode\u003eAny\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d794b57d9c5b03d61caa3286756c05e0ae3021b\"\u003e\u003ccode\u003e9d794b5\u003c/code\u003e\u003c/a\u003e [mypyc] fix: inappropriate \u003ccode\u003eNone\u003c/code\u003es in f-strings (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2c0510c84868b6bb42ef0f305b701e530a85c25f\"\u003e\u003ccode\u003e2c0510c\u003c/code\u003e\u003c/a\u003e stubtest: additional guidance on errors when runtime is object.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19733\"\u003e#19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2f3f03c3e39e68dbfa3544c01a34f99803b3e1c2\"\u003e\u003ccode\u003e2f3f03c\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2+dev for point release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/76698412bc1f3ca99000d52649acd5a0e06aa71d\"\u003e\u003ccode\u003e7669841\u003c/code\u003e\u003c/a\u003e Fix crash on recursive alias in indirection.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19845\"\u003e#19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.2\"\u003ecompare vi...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}],"issue_packages":[{"old_version":"1.3.1","new_version":"1.4.0","update_type":"minor","path":null,"pr_created_at":"2026-06-08T06:18:25.000Z","version_change":"1.3.1 → 1.4.0","issue":{"uuid":"4610482800","node_id":"PR_kwDOR-7nxM7jxxc5","number":163,"state":"open","title":"chore(deps-dev): Bump the dev-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:18:25.000Z","updated_at":"2026-06-08T06:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"dev-dependencies","update_count":28,"packages":[{"name":"uv","old_version":"0.11.7","new_version":"0.11.19","repository_url":"https://github.com/astral-sh/uv"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"hypothesis","old_version":"6.152.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"mutmut","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"certifi","old_version":"2026.2.25","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.13.5","new_version":"7.14.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cyclonedx-python-lib","old_version":"11.7.0","new_version":"11.8.0","repository_url":"https://github.com/CycloneDX/cyclonedx-python-lib"},{"name":"distlib","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/pypa/distlib"},{"name":"filelock","old_version":"3.25.2","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"identify","old_version":"2.6.18","new_version":"2.6.19","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.11","new_version":"3.18","repository_url":"https://github.com/kjd/idna"},{"name":"mdit-py-plugins","old_version":"0.5.0","new_version":"0.6.1","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pip","old_version":"26.0.1","new_version":"26.1.2","repository_url":"https://github.com/pypa/pip"},{"name":"platformdirs","old_version":"4.9.6","new_version":"4.10.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"26.0.0","new_version":"26.2.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"python-discovery","old_version":"1.2.2","new_version":"1.4.0","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"securesystemslib","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sigstore","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"soupsieve","old_version":"2.8.3","new_version":"2.8.4","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"textual","old_version":"8.2.4","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"21.2.0","new_version":"21.4.2","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uv](https://github.com/astral-sh/uv) | `0.11.7` | `0.11.19` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.44` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.152.1` | `6.155.2` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.5.0` | `3.6.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.5` | `7.14.1` |\n| [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) | `11.7.0` | `11.8.0` |\n| [distlib](https://github.com/pypa/distlib) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.2` | `3.29.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.18` | `2.6.19` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.18` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.5.0` | `0.6.1` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pip](https://github.com/pypa/pip) | `26.0.1` | `26.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.6` | `4.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `26.0.0` | `26.2.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.2.2` | `1.4.0` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.1` | `1.4.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `4.2.0` | `4.3.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.3` | `2.8.4` |\n| [textual](https://github.com/Textualize/textual) | `8.2.4` | `8.2.7` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.0` | `21.4.2` |\n\n\nUpdates `uv` from 0.11.7 to 0.11.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.19\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.19\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz\"\u003euv-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip\"\u003euv-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip\"\u003euv-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip\"\u003euv-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz\"\u003euv-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz\"\u003euv-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- 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/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-01.\u003c/p\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix performance regression in unzip of local wheels (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19637\"\u003e#19637\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euv check\u003c/code\u003e to run \u003ccode\u003ety\u003c/code\u003e from uv (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19605\"\u003e#19605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate activation scripts with upstream fixes (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19628\"\u003e#19628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to 1.94 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19600\"\u003e#19600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.17\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/7b2cff1c316eb3b7f52b1cc121d7e25eeea1b17c\"\u003e\u003ccode\u003e7b2cff1\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.19 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19668\"\u003e#19668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/ebd5033d77bca6a58c329cbbc351406a9415c920\"\u003e\u003ccode\u003eebd5033\u003c/code\u003e\u003c/a\u003e Fix setup-crates-io-publish call (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19667\"\u003e#19667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/9abd9b122b963dc6d71a8b29729efa86b3b41d4c\"\u003e\u003ccode\u003e9abd9b1\u003c/code\u003e\u003c/a\u003e Respect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/95507374d81bee4c6ffe55d9ccef60c5120e20b2\"\u003e\u003ccode\u003e9550737\u003c/code\u003e\u003c/a\u003e Use global preview in \u003ccode\u003eCondaEnvironmentKind::from_prefix_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19649\"\u003e#19649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/b82cadf1555c23a0971bd660ed07fba223290aee\"\u003e\u003ccode\u003eb82cadf\u003c/code\u003e\u003c/a\u003e Remove more duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d3cd632c83dbce8452cd2d4c3ccd8a3cd8ff5069\"\u003e\u003ccode\u003ed3cd632\u003c/code\u003e\u003c/a\u003e Always compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/48548c496e835a84c9a69d7d7e7d3b4b809fad8c\"\u003e\u003ccode\u003e48548c4\u003c/code\u003e\u003c/a\u003e Sync latest Python releases (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/8df759892cd54488c66a77852d7fc3f87a066f64\"\u003e\u003ccode\u003e8df7598\u003c/code\u003e\u003c/a\u003e fix feature-gates on \u003ccode\u003eformat\u003c/code\u003e and \u003ccode\u003echeck\u003c/code\u003e tests to specify they access r2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/68ae09e00cb4a1b7eb512b0ac77b79e4683cfaf4\"\u003e\u003ccode\u003e68ae09e\u003c/code\u003e\u003c/a\u003e Remove unused \u003ccode\u003epub\u003c/code\u003e code from workspace (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19565\"\u003e#19565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d4450f385074cd2a639e2525f44608c3c27f6414\"\u003e\u003ccode\u003ed4450f3\u003c/code\u003e\u003c/a\u003e Remove a bunch of duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests by using diffs (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.31 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `mutmut` from 3.5.0 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/boxed/mutmut/blob/main/HISTORY.rst\"\u003emutmut's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.6.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `# pragma: no mutate block` and `# pragma: no mutate start/end` comments\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edo_not_mutate_patterns\u003c/code\u003e to disable mutations with a regex\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eonly_mutate\u003c/code\u003e config to select which files get mutated\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlso mutate methods decorated with (only) \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003euse_setproctitle\u003c/code\u003e option to disable process renaming (automatically disabled on MacOS)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd (unstable) \u003ccode\u003etimeout_multiplier\u003c/code\u003e and \u003ccode\u003etimeout_constant\u003c/code\u003e options\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename \u003ccode\u003epaths_to_mutate\u003c/code\u003e to \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003etests_dir\u003c/code\u003e in favor of \u003ccode\u003epytest_add_cli_args_test_selection\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003emax_stack_depth\u003c/code\u003e to only consider functions inside \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisable mutation of enums and \u003ccode\u003e@staticmethod\u003c/code\u003e/\u003ccode\u003e@classmethod\u003c/code\u003e methods when \u003ccode\u003etype_check_command\u003c/code\u003e is set, as these mutations break type checking\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation for enum class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutate_only_covered_lines when project uses custom coverage.py config\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix execution when running mutmut via \u003ccode\u003epython -m mutmut run\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of \u003ccode\u003eclass _SomePrivateClass\u003c/code\u003e class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of default args\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003emutmut browse\u003c/code\u003e crash when no file is selected yet\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix timeout checker looking up the wrong mutant's expected test time, which could cause mutants to hang\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompare stats paths after resolving symlinks\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWarn when mutmut cannot match mutants with the collected stats\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/boxed/mutmut/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.2.25 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.02.25...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.5 to 7.14.1\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.14.1 — 2026-05-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the HTML report used typographic niceties to make file paths more\nreadable by adding a small amount of space around slashes. Those spaces\ninterfered with searching the page for file paths of interest. Now the report\nuses CSS to accomplish the same visual tweak so that searches with slashes\nwork correctly. Closes \u003ccode\u003eissue 2170\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eAdd a 3.16 PyPI classifier \u0026lt;hugo-316_\u0026gt;\u003c/code\u003e_ since we test on the 3.16 main\nbranch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2170: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2170\"\u003ecoveragepy/coveragepy#2170\u003c/a\u003e\n.. _hugo-316: \u003ca href=\"https://mastodon.social/@hugovk/116588523571204490\"\u003ehttps://mastodon.social/@​hugovk/116588523571204490\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-14-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/64d9b66fd852c1920ffe6cb8b58d7e4fdae90226\"\u003e\u003ccode\u003e64d9b66\u003c/code\u003e\u003c/a\u003e docs: correct the date for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6fa7dd44c25e1a660252faaf030dd8f2f1e20861\"\u003e\u003ccode\u003e6fa7dd4\u003c/code\u003e\u003c/a\u003e chore: bump actions/dependency-review-action (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2181\"\u003e#2181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/078afae263597b004eb9a85d880b6a65008e75ed\"\u003e\u003ccode\u003e078afae\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cb4f028a36e008b664739d04f387b90ee5105044\"\u003e\u003ccode\u003ecb4f028\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ae2d09f562271c6169534e1c242d015dd0823dda\"\u003e\u003ccode\u003eae2d09f\u003c/code\u003e\u003c/a\u003e Merge branch 'nedbat/classifire-316-kits'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2c3568b2e041f2c0dbbc8eaa3919d46ee891b743\"\u003e\u003ccode\u003e2c3568b\u003c/code\u003e\u003c/a\u003e build: declare 3.16 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/faa68f8601cf098701b68976dbb73b9fc23c9297\"\u003e\u003ccode\u003efaa68f8\u003c/code\u003e\u003c/a\u003e chore: bump github/codeql-action in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2173\"\u003e#2173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/eb55feedf54b363e3d0b678f20abf3bfd3551a88\"\u003e\u003ccode\u003eeb55fee\u003c/code\u003e\u003c/a\u003e test: we don't need PyPy \u0026lt; 7.3.22 anymore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ac168fe53c04cdb2ff5231c0c4e5045021ee339b\"\u003e\u003ccode\u003eac168fe\u003c/code\u003e\u003c/a\u003e test: the text summary should show missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fed4bd2db3c1cb2916a07791041da693fbf8e996\"\u003e\u003ccode\u003efed4bd2\u003c/code\u003e\u003c/a\u003e chore: upgrade virtualenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.5...7.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cyclonedx-python-lib` from 11.7.0 to 11.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/releases\"\u003ecyclonedx-python-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: extract glob for pyupgrade to separate script for cross-platform compatibility by \u003ca href=\"https://github.com/peschuster\"\u003e\u003ccode\u003e@​peschuster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/950\"\u003eCycloneDX/cyclonedx-python-lib#950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update CDX summary by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003eCycloneDX/cyclonedx-python-lib#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix test coverage reporting by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/956\"\u003eCycloneDX/cyclonedx-python-lib#956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): update tomli requirement from 2.3.0 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/954\"\u003eCycloneDX/cyclonedx-python-lib#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): use own GH app for releasing by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/958\"\u003eCycloneDX/cyclonedx-python-lib#958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): pin GitHub Actions to immutable SHAs while preserving tag tracking by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/961\"\u003eCycloneDX/cyclonedx-python-lib#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add zizmor workflow to harden GitHub Actions security by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/968\"\u003eCycloneDX/cyclonedx-python-lib#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate PULL_REQUEST_TEMPLATE.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/974\"\u003eCycloneDX/cyclonedx-python-lib#974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update CONTRIBUTING.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/975\"\u003eCycloneDX/cyclonedx-python-lib#975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): comments for pinned actions by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/984\"\u003eCycloneDX/cyclonedx-python-lib#984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003eCycloneDX/cyclonedx-python-lib#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/982\"\u003eCycloneDX/cyclonedx-python-lib#982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/964\"\u003eCycloneDX/cyclonedx-python-lib#964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/963\"\u003eCycloneDX/cyclonedx-python-lib#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: pull SPDX license IDs v1.1-3.28.0 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003eCycloneDX/cyclonedx-python-lib#986\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ehttps://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eDetailed Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.7.1-alpha.2\"\u003ev11.7.0...v11.7.1-alpha.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md\"\u003ecyclonedx-python-lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/e537812860bc7800ee6252524da2353bee71aba3\"\u003e\u003ccode\u003ee537812\u003c/code\u003e\u003c/a\u003e chore(release): 11.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e feat: pull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/590402a0c963816a48902eba86d6be963ebf3ed0\"\u003e\u003ccode\u003e590402a\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/963\"\u003e#963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/051abcef774a606b93da55b8fed4aa4ae056a744\"\u003e\u003ccode\u003e051abce\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/bc961efabd6a898f2d349ad97d2804d66b60e45c\"\u003e\u003ccode\u003ebc961ef\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e feat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/392ba604f2510bdfaab5020f8cd7c54f8140dd6a\"\u003e\u003ccode\u003e392ba60\u003c/code\u003e\u003c/a\u003e chore(ci): comments for pinned actions (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/0daf3f99c171d64634443cfecea12eb10c84fde9\"\u003e\u003ccode\u003e0daf3f9\u003c/code\u003e\u003c/a\u003e chore: Update CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/1a6dfb047631085d2acddc38afbe41413a4f9420\"\u003e\u003ccode\u003e1a6dfb0\u003c/code\u003e\u003c/a\u003e Update PULL_REQUEST_TEMPLATE.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/52c29afe0e17339daf77fc107f21072d4bf52425\"\u003e\u003ccode\u003e52c29af\u003c/code\u003e\u003c/a\u003e chore: add zizmor workflow to harden GitHub Actions security (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `distlib` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/distlib/blob/master/CHANGES.rst\"\u003edistlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.4.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nReleased: 2026-06-02\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003escripts\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix path traversal bug in handling entry points which allowed escaping the scripts directory.\nThanks to tonghuaroot for the comprehensive report.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etests\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Change test function following a reorganization which happened in the Python stdlib.\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/d562ad5aabe23dc03b22fccdf84dc01fddf0d336\"\u003e\u003ccode\u003ed562ad5\u003c/code\u003e\u003c/a\u003e Changes for 0.4.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a\"\u003e\u003ccode\u003e6286442\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Use more appropriate function in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/e3b1cd6ec121058ae71a2aab08aa2a120360c872\"\u003e\u003ccode\u003ee3b1cd6\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/da3e90aef9c2ea545ac653039dd970174b48ebd4\"\u003e\u003ccode\u003eda3e90a\u003c/code\u003e\u003c/a\u003e Added tag 0.4.0 for changeset d31f0b340fde\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/distlib/compare/0.4.0...0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.25.2 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\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/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/533\"\u003etox-dev/filelock#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/534\"\u003etox-dev/filelock#534\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.28.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/529\"\u003etox-dev/filelock#529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.27.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(rw): add SoftReadWriteLock for NFS and HPC clusters by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/528\"\u003etox-dev/filelock#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.26.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blo...\n\n_Description has been truncated_","html_url":"https://github.com/IvanAnishchuk/geek42/pull/163","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanAnishchuk%2Fgeek42/issues/163","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/163/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2026-01-13T11:07:19.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3808350731","node_id":"PR_kwDOIPxgHc6853KS","number":85,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-15T10:41:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T11:07:19.000Z","updated_at":"2026-01-15T10:41:34.000Z","time_to_close":171253,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":24,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.18.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"celery","old_version":"5.5.3","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"boto3","old_version":"1.40.16","new_version":"1.42.26","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.14.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.34.1","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"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":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinx-rtd-theme","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/readthedocs/sphinx_rtd_theme"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.45` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.18.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.5` |\n| [celery](https://github.com/celery/celery) | `5.5.3` | `5.6.2` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.42.26` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.14.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.34.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.5` | `7.13.1` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.12.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.19.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) | `3.0.2` | `3.1.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n\n\nUpdates `redis` from 6.4.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.45\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.45\u003c/h1\u003e\n\u003cp\u003eReleased: December 9, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where calling \u003ccode\u003eMapper.add_property()\u003c/code\u003e within mapper event\nhooks such as \u003ccode\u003eMapperEvents.instrument_class()\u003c/code\u003e,\n\u003ccode\u003eMapperEvents.after_mapper_constructed()\u003c/code\u003e, or\n\u003ccode\u003eMapperEvents.before_mapper_configured()\u003c/code\u003e would raise an\n\u003ccode\u003eAttributeError\u003c/code\u003e because the mapper's internal property collections were\nnot yet initialized. The \u003ccode\u003eMapper.add_property()\u003c/code\u003e method now handles\nearly-stage property additions correctly, allowing properties including\ncolumn properties, deferred columns, and relationships to be added during\nmapper initialization events.  Pull request courtesy G Allajmi.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12858\"\u003e#12858\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue in Python 3.14 where dataclass transformation would fail when\na mapped class using \u003ccode\u003eMappedAsDataclass\u003c/code\u003e included a\n\u003ccode\u003erelationship()\u003c/code\u003e referencing a class that was not available at\nruntime (e.g., within a \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e block). This occurred when using\nPython 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e deferred annotations feature, which is the\ndefault behavior without a \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e\ndirective.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12952\"\u003e#12952\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexamples\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[examples] [bug]\u003c/strong\u003e Fixed the \u0026quot;short_selects\u0026quot; performance example where the cache was being\nused in all the examples, making it impossible to compare performance with\nand without the cache.   Less important comparisons like \u0026quot;lambdas\u0026quot; and\n\u0026quot;baked queries\u0026quot; have been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Some improvements to the \u003ccode\u003e_sql.ClauseElement.params()\u003c/code\u003e method to\nreplace bound parameters in a query were made, however the ultimate issue\nin \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12915\"\u003e#12915\u003c/a\u003e involving ORM \u003ccode\u003e_orm.aliased()\u003c/code\u003e cannot be fixed fully\nuntil 2.1, where the method is being rewritten to work without relying on\nCore cloned traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12915\"\u003e#12915\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003eColumnOperators.in_()\u003c/code\u003e operator with a\nnested \u003ccode\u003eCompoundSelect\u003c/code\u003e statement (e.g. an \u003ccode\u003eINTERSECT\u003c/code\u003e of\n\u003ccode\u003eUNION\u003c/code\u003e queries) would raise a \u003ccode\u003eNotImplementedError\u003c/code\u003e when the\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.0\u003c/h1\u003e\n\u003cp\u003eReleased: January 9, 2026\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e When alembic is run in \u0026quot;verbose\u0026quot; mode, alembic now logs a message to\nindicate from which file is used to load the configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1737\"\u003e#1737\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [autogenerate]\u003c/strong\u003e Autogenerate reflection sweeps now use the \u0026quot;bulk\u0026quot; inspector methods\nintroduced in SQLAlchemy 2.0, which for selected dialects including\nPostgreSQL and Oracle use batched queries to reflect whole collections of\ntables using O(1) queries rather than O(N).\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [autogenerate]\u003c/strong\u003e Release 1.18.0 introduces a plugin system that allows for automatic\nloading of third-party extensions as well as configurable autogenerate\ncompare functionality on a per-environment basis.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ePlugin\u003c/code\u003e class provides a common interface for extensions that\nregister handlers among Alembic's existing extension points such as\n\u003ccode\u003eOperations.register_operation()\u003c/code\u003e and\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e. A new interface for registering\nautogenerate comparison handlers,\n\u003ccode\u003ePlugin.add_autogenerate_comparator()\u003c/code\u003e, provides for autogenerate\ncompare functionality that may be custom-configured on a per-environment\nbasis using the new\n\u003ccode\u003eEnvironmentContext.configure.autogenerate_plugins\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003eThe change does not impact well known Alembic add-ons such as\n\u003ccode\u003ealembic-utils\u003c/code\u003e, which continue to work as before; however, such add-ons\nhave the option to provide plugin entrypoints going forward.\u003c/p\u003e\n\u003cp\u003eAs part of this change, Alembic's autogenerate compare functionality is\nreorganized into a series of internal plugins under the\n\u003ccode\u003ealembic.autogenerate\u003c/code\u003e namespace, which may be individually or\ncollectively identified for inclusion and/or exclusion within the\n\u003ccode\u003eEnvironmentContext.configure()\u003c/code\u003e call using a new parameter\n\u003ccode\u003eEnvironmentContext.configure.autogenerate_plugins\u003c/code\u003e. This\nparameter is also where third party comparison plugins may also be\nindicated.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003ealembic.plugins.toplevel\u003c/code\u003e for complete documentation on\nthe new \u003ccode\u003ePlugin\u003c/code\u003e class as well as autogenerate-specific usage\ninstructions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.5.3 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\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/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\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/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.5.3...v5.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.42.26\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5ffffe1fb42fe0f283a537738f4567eed3c560c9\"\u003e\u003ccode\u003e5ffffe1\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.26'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ab8545a9a3b1791833f1b898c07da0b0b7041ea8\"\u003e\u003ccode\u003eab8545a\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/47198117acb1ccf87bf9289508517bc0a075f870\"\u003e\u003ccode\u003e4719811\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/93978170acb80cf7b6ff85c3a9b657e2022bb9fb\"\u003e\u003ccode\u003e9397817\u003c/code\u003e\u003c/a\u003e Add note on logical operators (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4141\"\u003e#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8dd60074e59d29c733b6b6eefad3a75ab615090b\"\u003e\u003ccode\u003e8dd6007\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.25'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f4381e378a62008168a4947355d8fb73700f6e8c\"\u003e\u003ccode\u003ef4381e3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.25' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0bf89db7865cfef4ed697b92199c093ca6f5f803\"\u003e\u003ccode\u003e0bf89db\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/34bf8f819c2870d7baa90c6e65f83dea34586bdd\"\u003e\u003ccode\u003e34bf8f8\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b8fbad82f97a16e4b468b7f9ff83bafa2e8d55d\"\u003e\u003ccode\u003e9b8fbad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6dda579bbbeafe145506fb40a65a2f7979f196c2\"\u003e\u003ccode\u003e6dda579\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.24' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.42.26\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.14.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: upgrade pg8000 due to CVE-2025-61385 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3225\"\u003eaws/aws-sdk-pandas#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support redshift \u003ccode\u003eCLEANPATH\u003c/code\u003e by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3211\"\u003eaws/aws-sdk-pandas#3211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add result reuse configuration to query execution functions by \u003ca href=\"https://github.com/DavidKatz-il\"\u003e\u003ccode\u003e@​DavidKatz-il\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3212\"\u003eaws/aws-sdk-pandas#3212\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add \u003ccode\u003es3_output\u003c/code\u003e parameter to \u003ccode\u003e_start_query_execution\u003c/code\u003e call in \u0026quot;overwrite\u0026quot; mode by \u003ca href=\"https://github.com/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: iceberg overwrite partitions with s3 output by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3220\"\u003eaws/aws-sdk-pandas#3220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Correct MemoryFormat.set() Parameter Type Annotation by \u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize AWS_SESSION_TOKEN=None to empty string for delta-rs compatibility by \u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3208\"\u003eaws/aws-sdk-pandas#3208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pyarrow constraints by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3210\"\u003eaws/aws-sdk-pandas#3210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3213\"\u003eaws/aws-sdk-pandas#3213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/setup-node from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3214\"\u003eaws/aws-sdk-pandas#3214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace deprecated pr linting action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3215\"\u003eaws/aws-sdk-pandas#3215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 3.14.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3227\"\u003eaws/aws-sdk-pandas#3227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update Snyk action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3228\"\u003eaws/aws-sdk-pandas#3228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix incorrect license field by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3229\"\u003eaws/aws-sdk-pandas#3229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update layers.rst by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3230\"\u003eaws/aws-sdk-pandas#3230\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/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\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/aws/aws-sdk-pandas/commit/20193b48db3a0e57d26a344e646811495e0c4e46\"\u003e\u003ccode\u003e20193b4\u003c/code\u003e\u003c/a\u003e Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d1c7910e3b3bb125733c9f0318f4e639e7e13d1f\"\u003e\u003ccode\u003ed1c7910\u003c/code\u003e\u003c/a\u003e pin pyarrow in lambda layer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/3521ddc6ae4f19ce6faaf43c34d1b3575b267d6b\"\u003e\u003ccode\u003e3521ddc\u003c/code\u003e\u003c/a\u003e chore: Release 3.14.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3227\"\u003e#3227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2371f80eead3b17d344a3a39794610e61e082e1f\"\u003e\u003ccode\u003e2371f80\u003c/code\u003e\u003c/a\u003e fix(delta-rs): normalize AWS_SESSION_TOKEN=None to empty string for delta-rs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/9b843841000fbbe0d0aa91f6b0becc0c459204a2\"\u003e\u003ccode\u003e9b84384\u003c/code\u003e\u003c/a\u003e Correct MemoryFormat.set() Parameter Type Annotation (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f5980f2adbd561f73564cfdbfd4e268b2c41fccd\"\u003e\u003ccode\u003ef5980f2\u003c/code\u003e\u003c/a\u003e chore: upgrade pg8000 due to a CVE-2025-61385 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/ed4057e0d835585d72a434c284ee7f74fd6e9d33\"\u003e\u003ccode\u003eed4057e\u003c/code\u003e\u003c/a\u003e fix: iceberg overwrite partitions with s3 output (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d425c500a2e2a30b3ac537e24bf34b900432215b\"\u003e\u003ccode\u003ed425c50\u003c/code\u003e\u003c/a\u003e [FIX] Add s3_output parameter to _start_query_execution call in \u0026quot;overwrite\u0026quot; m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/294f35e4dd2c41ff5a1a0bc92c9134533355692a\"\u003e\u003ccode\u003e294f35e\u003c/code\u003e\u003c/a\u003e chore: replace pr linting action (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c81581ca40579735cd0caa6e91f1fa5d2c3b46d7\"\u003e\u003ccode\u003ec81581c\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-node in the github-actions group (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3214\"\u003e#3214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provide...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-11-27T10:46:16.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3670853702","node_id":"PR_kwDOHGh5u8610wID","number":915,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T11:09:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-27T10:46:16.000Z","updated_at":"2026-01-13T11:09:06.000Z","time_to_close":4062168,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":34,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.4","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.41.5","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"hvac","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hvac/hvac"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.32.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"hatchling","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/pypa/hatch"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.4` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.41.5` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.7.0` |\n| [hvac](https://github.com/hvac/hvac) | `2.3.0` | `2.4.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.1` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.32.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.3` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [hatchling](https://github.com/pypa/hatch) | `1.27.0` | `1.28.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.9.2` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Typer 0.20 support\u003c/li\u003e\n\u003cli\u003eFix lack of support for \u003ccode\u003eflag_value=...\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.4 (2025-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Typer 0.20 support\u003c/li\u003e\n\u003cli\u003eFix lack of support for \u003ccode\u003eflag_value=...\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\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/ewels/rich-click/commit/7577bb99779c3789f252bc59617daaefdd81cf75\"\u003e\u003ccode\u003e7577bb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/309\"\u003e#309\u003c/a\u003e from dwreeves/1.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/69152920143a12f4f9c47ccf9056a164048b7935\"\u003e\u003ccode\u003e6915292\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d1d294c8868d5b363e7ae96608722cb50223f3ec\"\u003e\u003ccode\u003ed1d294c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/308\"\u003e#308\u003c/a\u003e from dwreeves/fix-flag-value-issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2bcbd9f7c716079437c3f6024ad089335a184889\"\u003e\u003ccode\u003e2bcbd9f\u003c/code\u003e\u003c/a\u003e update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/fdbe0267dd492cfbc07817b0f2de5090c2e65b1a\"\u003e\u003ccode\u003efdbe026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/306\"\u003e#306\u003c/a\u003e from omad/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f55d3b8cb01feaaee720498bcea3581c859867cb\"\u003e\u003ccode\u003ef55d3b8\u003c/code\u003e\u003c/a\u003e Merge branch 'patch-1' of github.com-dwreeves:omad/rich-click into patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/515a091913fbe70a0172143ce7feed253e3763db\"\u003e\u003ccode\u003e515a091\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/307\"\u003e#307\u003c/a\u003e from dwreeves/typer-0.20-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/49dff4b13a1357307386edc73c540ecbda1c4854\"\u003e\u003ccode\u003e49dff4b\u003c/code\u003e\u003c/a\u003e Fix Typer 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78793440af87f4e9b9204bbff90bfa2bf6fedbc2\"\u003e\u003ccode\u003e7879344\u003c/code\u003e\u003c/a\u003e Fix example links for documentation site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eUnreleased\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--old-finders\u003c/code\u003e and \u003ccode\u003e--magic-placement\u003c/code\u003e flags and \u003ccode\u003eold_finders\u003c/code\u003e configuration option. The legacy finder logic that relied on environment introspection has been removed (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2445\"\u003e#2445\u003c/a\u003e) \u003ca href=\"https://github.com/joao-faria-dev\"\u003e\u003ccode\u003e@​joao-faria-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/915","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/915","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/915/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-11-18T10:59:29.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3637510976","node_id":"PR_kwDOIPxgHc60FA43","number":81,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-01T13:50:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-18T10:59:29.000Z","updated_at":"2025-12-01T13:50:59.000Z","time_to_close":1133488,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":22,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.0.1","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.17.2","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.75","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.14.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.32.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.11.3","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.4.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.1","repository_url":"https://github.com/PyCQA/bandit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.0.1` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.17.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.4` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.75` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.14.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.32.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.5` | `7.11.3` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.4.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.1` |\n\n\nUpdates `redis` from 6.4.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/dmaier\"\u003e\u003ccode\u003e@​dmaier\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eOne of the main features introduced in this release is a new type of client \u003ccode\u003eMultiDBClient\u003c/code\u003e. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.\nMore information could be found in docs.\u003c/p\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for maintenance push notifications handling during server upgrade or maintenance procedures. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3756\"\u003e#3756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3779\"\u003e#3779\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding WITHATTRIBS option to vector set's vsim command. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding ssl_verify_flags_config argument for ssl connection configuration (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3772\"\u003e#3772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3808\"\u003e#3808\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-database client implementation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3784\"\u003e#3784\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding abstract method declaration for cache property setter in EvictionPolicyInterface(\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3732\"\u003e#3732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused parse_list_to_dict function from helpers (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3733\"\u003e#3733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving synchronous context manager handling from async RedisCluster. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedis Search/Aggregate improved type annotations (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3676\"\u003e#3676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ping command docstrings and method return type hint (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing several *arg type hints in core.py and json module commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3666\"\u003e#3666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging the timeout typehint in async BlockingConnectionPool from int to float (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3801\"\u003e#3801\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix docstring for ssl_check_hostname (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3761\"\u003e#3761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in vectorset commands.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in query.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3718\"\u003e#3718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in cluster.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3717\"\u003e#3717\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/redis/redis-py/commit/613a06f5bee94ee8aad3d841dd8c595ae6cc62d2\"\u003e\u003ccode\u003e613a06f\u003c/code\u003e\u003c/a\u003e Updating redis-py package version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/3f7a55e5914f82787fde15c56c18b105f001745e\"\u003e\u003ccode\u003e3f7a55e\u003c/code\u003e\u003c/a\u003e Adding info about Multi-database client in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/313d93f0b90c69ea5e6c7af8ff9b31ee005f4994\"\u003e\u003ccode\u003e313d93f\u003c/code\u003e\u003c/a\u003e Add 'multi_database' section to documentation index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/78df74522f76341be965e5c719427be6dcd5bedf\"\u003e\u003ccode\u003e78df745\u003c/code\u003e\u003c/a\u003e Revised multi-database client documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/7a4e8bc42a1cbda6b1e8e2e1dfbe8a94766e07f9\"\u003e\u003ccode\u003e7a4e8bc\u003c/code\u003e\u003c/a\u003e Updating package version to 7.0.0 and supported redis versions in readme.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/64a2721d6b0303e7a723066530b467145ee10841\"\u003e\u003ccode\u003e64a2721\u003c/code\u003e\u003c/a\u003e Refactor healthcheck to use PING instead of ECHO (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/24a7a1027bd6390e161c1c88be35c8acb242833d\"\u003e\u003ccode\u003e24a7a10\u003c/code\u003e\u003c/a\u003e Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/32ba6d89d2061a44c0c3f36d249fb9929836fca6\"\u003e\u003ccode\u003e32ba6d8\u003c/code\u003e\u003c/a\u003e DOC-5821 update index/query example for runnable notebook (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/c1e566f9fbd99912d7073b871eeda76d70f61b63\"\u003e\u003ccode\u003ec1e566f\u003c/code\u003e\u003c/a\u003e Add handling of empty spaces during CLIENT LIST response parsing (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/295bec67ddbf99c205376483f08a3ddebb72f2b2\"\u003e\u003ccode\u003e295bec6\u003c/code\u003e\u003c/a\u003e Adding new ExternalAuthProviderError that will be raised when we receive 'pro...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.2\u003c/h1\u003e\n\u003cp\u003eReleased: November 14, 2025\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e Added \u003ccode\u003eOperations.implementation_for.replace\u003c/code\u003e parameter to\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e, allowing replacement of existing\noperation implementations.  This allows for existing operations such as\n\u003ccode\u003eCreateTableOp\u003c/code\u003e to be extended directly.  Pull request courtesy\njustanothercatgirl.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1750\"\u003e#1750\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mssql]\u003c/strong\u003e Fixed issue in SQL Server dialect where the DROP that's automatically\nemitted for existing default constraints during an ALTER COLUMN needs to\ntake place before not just the modification of the column's default, but\nalso before the column's type is changed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1744\"\u003e#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.12.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5c842dfc9c245fb37aa1f5ec5b55c1aed10bd7e6\"\u003e\u003ccode\u003e5c842df\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c678a710e8b8bb2ff4dce6233c6d5c88dc579136\"\u003e\u003ccode\u003ec678a71\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a7cd29254b2611c5768beb86e7ffd2c1c130a19a\"\u003e\u003ccode\u003ea7cd292\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ecloudpickle\u003c/code\u003e to v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/21f627801b5eedfa87bed55925f73cf329cc9c2c\"\u003e\u003ccode\u003e21f6278\u003c/code\u003e\u003c/a\u003e Bump actions/setup-node from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8d6be8fea9662203977b95758d97ec298edcd54a\"\u003e\u003ccode\u003e8d6be8f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17865ea3a1fd389ba697990b762f82a419a48221\"\u003e\u003ccode\u003e17865ea\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/90ad0af6b9340f72dde77997ed18fc180771e69f\"\u003e\u003ccode\u003e90ad0af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/18e6672b6fdeaeb75ccbbcb3c7883509b1f56cb3\"\u003e\u003ccode\u003e18e6672\u003c/code\u003e\u003c/a\u003e Drop testing under PyPy 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/650215be2d2336a72af481b724b368fed356d7e8\"\u003e\u003ccode\u003e650215b\u003c/code\u003e\u003c/a\u003e Document workaround for \u003ccode\u003eMongoDsn\u003c/code\u003e default port\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e3267902272d8290ed6d1ae06f43052b2968ef14\"\u003e\u003ccode\u003ee326790\u003c/code\u003e\u003c/a\u003e Fix example of for \u003ccode\u003ebytes_invalid_encoding\u003c/code\u003e validation error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.75\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/76bb63ddcaf878e5fea038518af5f84a1dccfcb1\"\u003e\u003ccode\u003e76bb63d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.75'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4094ca62c842c51761d442a0eb6063565b5f07ad\"\u003e\u003ccode\u003e4094ca6\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b37bc1c7514e9e1a8f9a4f3a1c650d8b4132f40d\"\u003e\u003ccode\u003eb37bc1c\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/49140e033d31324b28e340329f866af3009f0d06\"\u003e\u003ccode\u003e49140e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f3fe4845588855a9871cf8182597e2ab2e26eca9\"\u003e\u003ccode\u003ef3fe484\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.74' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/786aff8131cd2e48dbe522643f06d84353dad2c5\"\u003e\u003ccode\u003e786aff8\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a66fb2138fec05d0ccbec07aba926c62f692e54\"\u003e\u003ccode\u003e0a66fb2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cd8545493fb93990034989cb24c7f151fe7af200\"\u003e\u003ccode\u003ecd85454\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/27d56447889f2c96bf1fda35929c7bf5add1cbad\"\u003e\u003ccode\u003e27d5644\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f2866c2057eb1c638c9aed9acf1e487eb7b4a93\"\u003e\u003ccode\u003e5f2866c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.73\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.75\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.14.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: upgrade pg8000 due to CVE-2025-61385 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3225\"\u003eaws/aws-sdk-pandas#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support redshift \u003ccode\u003eCLEANPATH\u003c/code\u003e by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3211\"\u003eaws/aws-sdk-pandas#3211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add result reuse configuration to query execution functions by \u003ca href=\"https://github.com/DavidKatz-il\"\u003e\u003ccode\u003e@​DavidKatz-il\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3212\"\u003eaws/aws-sdk-pandas#3212\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add \u003ccode\u003es3_output\u003c/code\u003e parameter to \u003ccode\u003e_start_query_execution\u003c/code\u003e call in \u0026quot;overwrite\u0026quot; mode by \u003ca href=\"https://github.com/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: iceberg overwrite partitions with s3 output by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3220\"\u003eaws/aws-sdk-pandas#3220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Correct MemoryFormat.set() Parameter Type Annotation by \u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize AWS_SESSION_TOKEN=None to empty string for delta-rs compatibility by \u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3208\"\u003eaws/aws-sdk-pandas#3208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update pyarrow constraints by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3210\"\u003eaws/aws-sdk-pandas#3210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3213\"\u003eaws/aws-sdk-pandas#3213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/setup-node from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3214\"\u003eaws/aws-sdk-pandas#3214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace deprecated pr linting action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3215\"\u003eaws/aws-sdk-pandas#3215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 3.14.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3227\"\u003eaws/aws-sdk-pandas#3227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update Snyk action by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3228\"\u003eaws/aws-sdk-pandas#3228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix incorrect license field by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3229\"\u003eaws/aws-sdk-pandas#3229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update layers.rst by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3230\"\u003eaws/aws-sdk-pandas#3230\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/sergeymazin\"\u003e\u003ccode\u003e@​sergeymazin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3205\"\u003eaws/aws-sdk-pandas#3205\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DaltonWorsnup\"\u003e\u003ccode\u003e@​DaltonWorsnup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3221\"\u003eaws/aws-sdk-pandas#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/skoschik\"\u003e\u003ccode\u003e@​skoschik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3223\"\u003eaws/aws-sdk-pandas#3223\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.13.0...3.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\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/aws/aws-sdk-pandas/commit/20193b48db3a0e57d26a344e646811495e0c4e46\"\u003e\u003ccode\u003e20193b4\u003c/code\u003e\u003c/a\u003e Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d1c7910e3b3bb125733c9f0318f4e639e7e13d1f\"\u003e\u003ccode\u003ed1c7910\u003c/code\u003e\u003c/a\u003e pin pyarrow in lambda layer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/3521ddc6ae4f19ce6faaf43c34d1b3575b267d6b\"\u003e\u003ccode\u003e3521ddc\u003c/code\u003e\u003c/a\u003e chore: Release 3.14.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3227\"\u003e#3227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2371f80eead3b17d344a3a39794610e61e082e1f\"\u003e\u003ccode\u003e2371f80\u003c/code\u003e\u003c/a\u003e fix(delta-rs): normalize AWS_SESSION_TOKEN=None to empty string for delta-rs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/9b843841000fbbe0d0aa91f6b0becc0c459204a2\"\u003e\u003ccode\u003e9b84384\u003c/code\u003e\u003c/a\u003e Correct MemoryFormat.set() Parameter Type Annotation (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f5980f2adbd561f73564cfdbfd4e268b2c41fccd\"\u003e\u003ccode\u003ef5980f2\u003c/code\u003e\u003c/a\u003e chore: upgrade pg8000 due to a CVE-2025-61385 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/ed4057e0d835585d72a434c284ee7f74fd6e9d33\"\u003e\u003ccode\u003eed4057e\u003c/code\u003e\u003c/a\u003e fix: iceberg overwrite partitions with s3 output (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/d425c500a2e2a30b3ac537e24bf34b900432215b\"\u003e\u003ccode\u003ed425c50\u003c/code\u003e\u003c/a\u003e [FIX] Add s3_output parameter to _start_query_execution call in \u0026quot;overwrite\u0026quot; m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/294f35e4dd2c41ff5a1a0bc92c9134533355692a\"\u003e\u003ccode\u003e294f35e\u003c/code\u003e\u003c/a\u003e chore: replace pr linting action (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c81581ca40579735cd0caa6e91f1fa5d2c3b46d7\"\u003e\u003ccode\u003ec81581c\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-node in the github-actions group (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3214\"\u003e#3214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3447f9603cfa0e9fe9d9c83d5bd5fb0bfe08a598\"\u003e\u003ccode\u003e3447f96\u003c/code\u003e\u003c/a\u003e Forward port entry kindversion error improvement, bump version to 4.1.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2dbe03ae34c36e7d04bec7e63822ebcbbed362aa\"\u003e\u003ccode\u003e2dbe03a\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1572\"\u003e#1572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/02daa6970d0eaff526fd846efd6af46067206618\"\u003e\u003ccode\u003e02daa69\u003c/code\u003e\u003c/a\u003e build(deps): bump rich from 14.1.0 to 14.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/16159399b18178aa87001b1e13b7c730be6d36b6\"\u003e\u003ccode\u003e1615939\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1568\"\u003e#1568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/72b658140bd3718aa9bba955d2ec87a8de6cb7bb\"\u003e\u003ccode\u003e72b6581\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.4 to \u0026lt;0.14.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1567\"\u003e#1567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/64dbeba7394b028ac6e75ddf5f4b1875b4571631\"\u003e\u003ccode\u003e64dbeba\u003c/code\u003e\u003c/a\u003e cli: Support using other Sigstore instances (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1548\"\u003e#1548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/508b0e77ec9e04e6aecc09b8b476ff4937bed538\"\u003e\u003ccode\u003e508b0e7\u003c/code\u003e\u003c/a\u003e build(deps): bump softprops/action-gh-release in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1563\"\u003e#1563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/e31f481006755785e0fffc8a040e81e31aeee5b1\"\u003e\u003ccode\u003ee31f481\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.3 to \u0026lt;0.13.4 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1562\"\u003e#1562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/dec897bbda882b0d9f694da60047044c0f649468\"\u003e\u003ccode\u003edec897b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1561\"\u003e#1561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/0a54b4fce6a26150954c9eea8ed3720af27f06bf\"\u003e\u003ccode\u003e0a54b4f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.1 to 46.0.2 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.6.0...google-cloud-documentai-v3.7.0\"\u003e3.7.0\u003c/a\u003e (2025-10-16)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe field \u003ccode\u003etraining_method\u003c/code\u003e in \u003ccode\u003eTrainProcessorVersionRequest\u003c/code\u003e is now marked as optional  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etraining_method\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.TrainProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eprocessor_version_source\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ImportProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.Processor\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new messages \u003ccode\u003eEntityValidationOutput\u003c/code\u003e and \u003ccode\u003eEntitiesRevision\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new fields \u003ccode\u003eentity_validation_output\u003c/code\u003e, \u003ccode\u003eentities_revisions\u003c/code\u003e, and \u003ccode\u003eentities_revision_id\u003c/code\u003e to the \u003ccode\u003eDocument\u003c/code\u003e message  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003esignature_value\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntitiesRevision\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revisions\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentity_validation_output\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.DocumentSchema\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new enum \u003ccode\u003eMethod\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/81","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/81","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/81/packages"}},{"old_version":"1.0.0","new_version":"1.3.1","update_type":"minor","path":null,"pr_created_at":"2025-11-14T08:10:15.000Z","version_change":"1.0.0 → 1.3.1","issue":{"uuid":"3624486132","node_id":"PR_kwDOQVZ2xs6zZZZb","number":4,"state":"closed","title":"build(deps): bump the dependencies group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T02:11:22.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-14T08:10:15.000Z","updated_at":"2026-01-13T02:11:24.000Z","time_to_close":5162467,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"dependencies","update_count":6,"packages":[{"name":"securesystemslib","old_version":"1.0.0","new_version":"1.3.1"},{"name":"attrs","old_version":"23.2.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"cffi","old_version":"1.16.0","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cryptography","old_version":"42.0.7","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"six","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/benjaminp/six"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib[crypto]](https://github.com/secure-systems-lab/securesystemslib) | `1.0.0` | `1.3.1` |\n| [attrs](https://github.com/sponsors/hynek) | `23.2.0` | `25.4.0` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.16.0` | `2.0.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `42.0.7` | `46.0.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |\n\nUpdates `securesystemslib[crypto]` from 1.0.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib[crypto]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.2.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.1.0/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib[crypto]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.3.0\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003ehash\u003c/code\u003e module will be removed in the next major version. Consider using\n\u003ccode\u003ehashlib\u003c/code\u003e from the standard library directly instead.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotate library (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate hash module (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/977\"\u003e#977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eModernize license metadata (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor signing scheme parsing (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMisc test and ci/cd improvements (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/926\"\u003e#926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/953\"\u003e#953\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/958\"\u003e#958\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/965\"\u003e#965\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/966\"\u003e#966\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.2.0\u003c/h2\u003e\n\u003cp\u003eSmall release with mostly internal changes.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/L77H\"\u003e\u003ccode\u003e@​L77H\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/NicholasTanz\"\u003e\u003ccode\u003e@​NicholasTanz\u003c/code\u003e\u003c/a\u003e for the bulk of the work on this release.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eecdsa-sha2-nistp521 supported in signer API (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSigstoreSigner now has a convenience function for creating a signing\nidentity for GitHub Actions workflow (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/842\"\u003e#842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLinting refactoring, switched to ruff\u003c/li\u003e\n\u003cli\u003eModern annotations used in most of the code base\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esecuresystemslib v1.1.0\u003c/h2\u003e\n\u003cp\u003eThis is a small release that only re-enables the use of SigstoreSigner.\nNote that SigstoreSigner and SigstoreKey are still not part of the default\nset of supported signers \u0026amp; keys but now they can be enabled.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSigstoreSigner: Re-enable compatibility with Sigstore (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/781\"\u003e#781\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.0.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 23.2.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cffi` from 1.16.0 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\u003ch2\u003ev1.17.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing \u003ccode\u003edistutils.msvc9compiler\u003c/code\u003e imports under Windows (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/118\"\u003e#118\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003effibuilder.emit_python_code()\u003c/code\u003e and \u003ccode\u003effibuiler.emit_c_code()\u003c/code\u003e accept file-like objects (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/115\"\u003e#115\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003effiplatform\u003c/code\u003e calls are bypassed by \u003ccode\u003effibuilder.emit_python_code()\u003c/code\u003e and \u003ccode\u003effibuilder.emit_c_code()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/81\"\u003e#81\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.0...v1.17.1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\n\u003cul\u003e\n\u003cli\u003eFree-threaded CPython builds (i.e. \u003ccode\u003epython3.13t\u003c/code\u003e and the \u003ccode\u003e3.13t\u003c/code\u003e ABI) are not currently supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eIn API mode, when you get a function from a C library by writing\n\u003ccode\u003efn = lib.myfunc\u003c/code\u003e, you get an object of a special type for performance\nreasons, instead of a \u003ccode\u003e\u0026lt;cdata 'C-function-type'\u0026gt;\u003c/code\u003e.  Before version 1.17\nyou could only call such objects.  You could write\n\u003ccode\u003effi.addressof(lib, \u0026quot;myfunc\u0026quot;)\u003c/code\u003e in order to get a real \u003ccode\u003e\u0026lt;cdata\u0026gt;\u003c/code\u003e object,\nbased on the idea that in these cases in C you'd usually write \u003ccode\u003e\u0026amp;myfunc\u003c/code\u003e\ninstead of \u003ccode\u003emyfunc\u003c/code\u003e.  In version 1.17, the special object\n\u003ccode\u003elib.myfunc\u003c/code\u003e can now be passed in many places where CFFI expects\na regular \u003ccode\u003e\u0026lt;cdata\u0026gt;\u003c/code\u003e object.  For example, you can now pass\nit as a callback to a C function call, or write it inside a C\nstructure field of the correct pointer-to-function type, or use\n\u003ccode\u003effi.cast()\u003c/code\u003e or \u003ccode\u003effi.typeof()\u003c/code\u003e on it.\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.16.0...v1.17.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.16.0...v1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eIn API mode, when you get a function from a C library by writing fn = lib.myfunc, you get an object of a special type for performance reasons, instead of a \u0026lt;cdata ‘C-function-type’\u0026gt;. Before version 1.17 you could only call such objects. You could write ffi.addressof(lib, “myfunc”) in order to get a real \u003c!-- raw HTML omitted --\u003e object, based on the idea that in these cases in C you’d usually write \u0026amp;myfunc instead of myfunc. In version 1.17, the special object lib.myfunc can now be passed in many places where CFFI expects a regular \u003c!-- raw HTML omitted --\u003e object. For example, you can now pass it as a callback to a C function call, or write it inside a C structure field of the correct pointer-to-function type, or use ffi.cast() or ffi.typeof() on it.\u003c/li\u003e\n\u003cli\u003eBuild wheels for musllinux aarch64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-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.16.0...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 42.0.7 to 46.0.3\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.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/42.0.7...46.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycparser` from 2.22 to 2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eliben/pycparser/releases\"\u003epycparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease_v2.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow abstract declarator \u0026quot;static\u0026quot; (GH issue \u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/539\"\u003e#539\u003c/a\u003e) by \u003ca href=\"https://github.com/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/550\"\u003eeliben/pycparser#550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dirent and socket typedefs. by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for labels with no statement by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept empty 'case' or 'default' labels by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/564\"\u003eeliben/pycparser#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve parentheses for statement exprs by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hex float types by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/567\"\u003eeliben/pycparser#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit error for comments, with README link by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eshowemptyattrs option on Node.show() by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/570\"\u003eeliben/pycparser#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fake typedefs for GNU Extension 128-bit integers. by \u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypedef for __kernel_sa_family_t in linux/socket.h by \u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\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/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ehttps://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\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/eliben/pycparser/commit/5b60167602e7914139b3e277266ccdff5c24dbf2\"\u003e\u003ccode\u003e5b60167\u003c/code\u003e\u003c/a\u003e Prepare for release 2.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7b24736bbb875a5c6c6f0520412f03aace75d0ee\"\u003e\u003ccode\u003e7b24736\u003c/code\u003e\u003c/a\u003e Typedef for __kernel_sa_family_t in _fake_typedefs.h (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/90184f1f4eb1234fb9e7ae0c8b74eab9ea963482\"\u003e\u003ccode\u003e90184f1\u003c/code\u003e\u003c/a\u003e Add fake typedefs for GNU Extension 128-bit integers. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/f04fdcde3d95be4a632948718d0c46eac09c50ce\"\u003e\u003ccode\u003ef04fdcd\u003c/code\u003e\u003c/a\u003e showemptyattrs option on Node.show() (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/156eae7f42843d8a3e78a68995d9cc7485577e38\"\u003e\u003ccode\u003e156eae7\u003c/code\u003e\u003c/a\u003e Explicit error for comments, with README link (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/2215299261306df71e2cec23bb3acd7b8f31f8db\"\u003e\u003ccode\u003e2215299\u003c/code\u003e\u003c/a\u003e fix: hex float types (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/037bd31d4e0e69e8c4d80e45311ae46abc15dd4e\"\u003e\u003ccode\u003e037bd31\u003c/code\u003e\u003c/a\u003e fix: preserve parentheses for statement exprs (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/9cecc090151b31d8821786bca3b25851a4a33272\"\u003e\u003ccode\u003e9cecc09\u003c/code\u003e\u003c/a\u003e Accept empty 'case' or 'default' labels (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7ae671d3ac44e1000bcbe7108b24bdb9187443ac\"\u003e\u003ccode\u003e7ae671d\u003c/code\u003e\u003c/a\u003e Support for labels with no statement (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/42b542324859a108f2cf35bcfe21fe5877ceb091\"\u003e\u003ccode\u003e42b5423\u003c/code\u003e\u003c/a\u003e Add dirent and socket typedefs. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `six` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benjaminp/six/blob/main/CHANGES\"\u003esix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePull request \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/388\"\u003e#388\u003c/a\u003e: Remove \u003ccode\u003eURLopener\u003c/code\u003e and \u003ccode\u003eFancyURLopener\u003c/code\u003e classes from\n\u003ccode\u003eurllib.request\u003c/code\u003e when running on Python 3.14 or greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull request \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/365\"\u003e#365\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/283\"\u003e#283\u003c/a\u003e: \u003ccode\u003esix.moves.UserDict\u003c/code\u003e now points to\n\u003ccode\u003eUserDict.IterableUserDict\u003c/code\u003e instead of \u003ccode\u003eUserDict.UserDict\u003c/code\u003e on Python 2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/ebd9b3af90247b8858d415a05e96e9ee61e48d07\"\u003e\u003ccode\u003eebd9b3a\u003c/code\u003e\u003c/a\u003e six 1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/40d248e516ae9bb32221a417de49a3d2fd9e39c1\"\u003e\u003ccode\u003e40d248e\u003c/code\u003e\u003c/a\u003e Expunge travis.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/dd7940e4b8760c620e61dd0e99ec0e60ee759fc8\"\u003e\u003ccode\u003edd7940e\u003c/code\u003e\u003c/a\u003e Add PyPI publication workflow. (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/8cb688f32f24b6ebe94938b15e92ec5c75dd8f12\"\u003e\u003ccode\u003e8cb688f\u003c/code\u003e\u003c/a\u003e Update copyright years.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/86f89c5da1488463a00bd090c8f9e29aeabf6a10\"\u003e\u003ccode\u003e86f89c5\u003c/code\u003e\u003c/a\u003e Add a GitHub actions CI workflow. (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/06430b9fc66e3912bea2c0a2d13b22d7054a9ac7\"\u003e\u003ccode\u003e06430b9\u003c/code\u003e\u003c/a\u003e Make test_getoutput work on Windows.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/ceddaf2d0a45cf3a19ce0ac63a24ca4ffc76ba7c\"\u003e\u003ccode\u003eceddaf2\u003c/code\u003e\u003c/a\u003e Add a changelog for \u003ca href=\"https://redirect.github.com/benjaminp/six/issues/314\"\u003e#314\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/9a05aab157c79647aa11c49f31a6bff5b18404a5\"\u003e\u003ccode\u003e9a05aab\u003c/code\u003e\u003c/a\u003e Python 3.14 removed the URLopener and FancyURLopener  classes from urllib.req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/c1b416f24de52ebd8eaed3e379ab85ec9c3e935b\"\u003e\u003ccode\u003ec1b416f\u003c/code\u003e\u003c/a\u003e Fix deprecation warning from setuptools (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp/six/commit/02c3bcab0b94eb7a86f6606bc8b02e3ee0a72860\"\u003e\u003ccode\u003e02c3bca\u003c/code\u003e\u003c/a\u003e tkinter.tix was removed from Python 3.13, skip the test (\u003ca href=\"https://redirect.github.com/benjaminp/six/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benjaminp/six/compare/1.16.0...1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ncesnagoya/in-toto/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncesnagoya%2Fin-toto/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-23T10:33:50.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3544110734","node_id":"PR_kwDOHsAm8s6vPECC","number":831,"state":"closed","title":"build(deps): bump the python-deps group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-10T11:33:08.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-23T10:33:50.000Z","updated_at":"2025-11-10T11:33:11.000Z","time_to_close":1558758,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":20,"packages":[{"name":"redis","old_version":"6.4.0","new_version":"7.0.0","repository_url":"https://github.com/redis/redis-py"},{"name":"dynaconf","old_version":"3.2.11","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.16.4","new_version":"1.17.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.57","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.7.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.0.0` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.11` | `3.2.12` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.17.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.12.3` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.57` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.1.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.7.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.31.0` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.11.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `redis` from 6.4.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eOne of the main features introduced in this release is a new type of client \u003ccode\u003eMultiDBClient\u003c/code\u003e. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.\nMore information could be found in docs.\u003c/p\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for maintenance push notifications handling during server upgrade or maintenance procedures. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3756\"\u003e#3756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3779\"\u003e#3779\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding WITHATTRIBS option to vector set's vsim command. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding ssl_verify_flags_config argument for ssl connection configuration (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3772\"\u003e#3772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3808\"\u003e#3808\u003c/a\u003e)\n\u003cstrong\u003eNote\u003c/strong\u003e Not supported with hiredis parser. When hiredis parser is used this server response is mapped to ResponseError\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-database client implementation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3784\"\u003e#3784\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding abstract method declaration for cache property setter in EvictionPolicyInterface(\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3732\"\u003e#3732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused parse_list_to_dict function from helpers (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3733\"\u003e#3733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving synchronous context manager handling from async RedisCluster. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedis Search/Aggregate improved type annotations (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3676\"\u003e#3676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ping command docstrings and method return type hint (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing several *arg type hints in core.py and json module commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3666\"\u003e#3666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging the timeout typehint in async BlockingConnectionPool from int to float (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3801\"\u003e#3801\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoving the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix docstring for ssl_check_hostname (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3761\"\u003e#3761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in vectorset commands.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in query.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3718\"\u003e#3718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypos in cluster.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3717\"\u003e#3717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing typos in core.py (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Redis image versions for GH pipeline actions. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the customization of the timeout parameter when using a blocking connection pool with a redis cluster (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3724\"\u003e#3724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix async clients safety when used as an async context manager (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3512\"\u003e#3512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix zadd command parameter description (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3727\"\u003e#3727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFault injector boilerplate (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding e2e scenario tests for maintenance push notifications handling. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding more e2e tests related to maintenance notifications. Extracting specific tests that validate notifications are received in new connections (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3770\"\u003e#3770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRenaming of classes and configuration arguments related to maintenance push notifications handling during server upgrade or maintenance procedures (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3777\"\u003e#3777\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDOC-5743 BITOP examples (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3776\"\u003e#3776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove stale issue management workflow (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[DOC] Add complex chaining example using pipelines with builder pattern (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix automation scenario maint notification (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3788\"\u003e#3788\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/redis/redis-py/commit/7a4e8bc42a1cbda6b1e8e2e1dfbe8a94766e07f9\"\u003e\u003ccode\u003e7a4e8bc\u003c/code\u003e\u003c/a\u003e Updating package version to 7.0.0 and supported redis versions in readme.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/64a2721d6b0303e7a723066530b467145ee10841\"\u003e\u003ccode\u003e64a2721\u003c/code\u003e\u003c/a\u003e Refactor healthcheck to use PING instead of ECHO (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3811\"\u003e#3811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/24a7a1027bd6390e161c1c88be35c8acb242833d\"\u003e\u003ccode\u003e24a7a10\u003c/code\u003e\u003c/a\u003e Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/32ba6d89d2061a44c0c3f36d249fb9929836fca6\"\u003e\u003ccode\u003e32ba6d8\u003c/code\u003e\u003c/a\u003e DOC-5821 update index/query example for runnable notebook (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/c1e566f9fbd99912d7073b871eeda76d70f61b63\"\u003e\u003ccode\u003ec1e566f\u003c/code\u003e\u003c/a\u003e Add handling of empty spaces during CLIENT LIST response parsing (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/295bec67ddbf99c205376483f08a3ddebb72f2b2\"\u003e\u003ccode\u003e295bec6\u003c/code\u003e\u003c/a\u003e Adding new ExternalAuthProviderError that will be raised when we receive 'pro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/52c700379eee9c4d32244c905cd993ea02cb0d81\"\u003e\u003ccode\u003e52c7003\u003c/code\u003e\u003c/a\u003e Fixing sync BlockingConnectionPool's disconnect method to follow the definiti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/1ac80f64a21cb442ca9f4880dd34782c9b022e77\"\u003e\u003ccode\u003e1ac80f6\u003c/code\u003e\u003c/a\u003e Changing the timeout typehint in async BlockingConnectionPool from int to flo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f9bc0348143184377fd9c9771bee61fdf507803e\"\u003e\u003ccode\u003ef9bc034\u003c/code\u003e\u003c/a\u003e Adding score_cast_func argument to zrank, zrevrank and zunion - for consisten...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/0768fbee450b73cb554565cb01192d7fe17db713\"\u003e\u003ccode\u003e0768fbe\u003c/code\u003e\u003c/a\u003e Update Python version to 3.14 in hiredis CI workflow (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.11 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.0\u003c/h1\u003e\n\u003cp\u003eReleased: October 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [tests]\u003c/strong\u003e The top-level test runner has been changed to use \u003ccode\u003enox\u003c/code\u003e, adding a\n\u003ccode\u003enoxfile.py\u003c/code\u003e as well as some included modules.   The \u003ccode\u003etox.ini\u003c/code\u003e file\nremains in place so that \u003ccode\u003etox\u003c/code\u003e runs will continue to function in the near\nterm, however it will be eventually removed and improvements and\nmaintenance going forward will be only towards \u003ccode\u003enoxfile.py\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [general]\u003c/strong\u003e The minimum Python version is now 3.10, as Python 3.9 is EOL.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.1 2025-10-13\u003c/h2\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1a8850d101e67d2744ba8c6286e1172d7cd89d0b\"\u003e\u003ccode\u003e1a8850d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/09dbcf29c73c3fd7fd3ef1edfebe357e807cc9ca\"\u003e\u003ccode\u003e09dbcf2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5da43310ec61a7b9b3017b2b9f388e778398a1bc\"\u003e\u003ccode\u003e5da4331\u003c/code\u003e\u003c/a\u003e Improve documentation about serialize as any behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/9c863245ad3799ab331f33b52e2d7441e9c1191e\"\u003e\u003ccode\u003e9c86324\u003c/code\u003e\u003c/a\u003e Raise a warning when an invalid after model validator function signature is r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/36a73c6ed53df7f1cad3343bc811e1dd3f52d26f\"\u003e\u003ccode\u003e36a73c6\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epydantic-extra-types\u003c/code\u003e dependency to version \u003ccode\u003e\u0026gt;=2.10.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1e616a3a6fa0201f840c08143cac883e56a2d9df\"\u003e\u003ccode\u003e1e616a3\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc302e2d09f0eed14729f69bc61a258f1f35d35c\"\u003e\u003ccode\u003edc302e2\u003c/code\u003e\u003c/a\u003e Fix issue with recursive generic models with a parent model class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6876485d0cffeb66c915695574344ae4b03645a7\"\u003e\u003ccode\u003e6876485\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21\"\u003e\u003ccode\u003eb4076c6\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41\"\u003e\u003ccode\u003eb67f072\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.57\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/43407ff84649f0d16c50fc87b69cb716a1ebc6c7\"\u003e\u003ccode\u003e43407ff\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.57'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cb3d0c727b26c5648777cb50f66503c6daf5036f\"\u003e\u003ccode\u003ecb3d0c7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.57\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/11328420285e28e0b3795596824d3f60370d9708\"\u003e\u003ccode\u003e1132842\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/69f915b4cf1961db9395db23e10c7210ad7a6814\"\u003e\u003ccode\u003e69f915b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.56'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1c2dc637c65e8178f9b3afd61977f45cb153a6ab\"\u003e\u003ccode\u003e1c2dc63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.56' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/94dd6caaa7d4e75192fe3ca131f9fd180a557f8b\"\u003e\u003ccode\u003e94dd6ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.56\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7f7a418fa31e3e0b2212d9d88ec9292c8f1a7e12\"\u003e\u003ccode\u003e7f7a418\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eb5f82773991f715b62dc38f6801d76d1035a868\"\u003e\u003ccode\u003eeb5f827\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/849b54b57300b4442f71a74b7e6f8d9230fb63e4\"\u003e\u003ccode\u003e849b54b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/52a3496b66a6ff66755c4315c55f22b07826e758\"\u003e\u003ccode\u003e52a3496\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.57\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.1.0]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3447f9603cfa0e9fe9d9c83d5bd5fb0bfe08a598\"\u003e\u003ccode\u003e3447f96\u003c/code\u003e\u003c/a\u003e Forward port entry kindversion error improvement, bump version to 4.1.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2dbe03ae34c36e7d04bec7e63822ebcbbed362aa\"\u003e\u003ccode\u003e2dbe03a\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1572\"\u003e#1572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/02daa6970d0eaff526fd846efd6af46067206618\"\u003e\u003ccode\u003e02daa69\u003c/code\u003e\u003c/a\u003e build(deps): bump rich from 14.1.0 to 14.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/16159399b18178aa87001b1e13b7c730be6d36b6\"\u003e\u003ccode\u003e1615939\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1568\"\u003e#1568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/72b658140bd3718aa9bba955d2ec87a8de6cb7bb\"\u003e\u003ccode\u003e72b6581\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.4 to \u0026lt;0.14.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1567\"\u003e#1567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/64dbeba7394b028ac6e75ddf5f4b1875b4571631\"\u003e\u003ccode\u003e64dbeba\u003c/code\u003e\u003c/a\u003e cli: Support using other Sigstore instances (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1548\"\u003e#1548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/508b0e77ec9e04e6aecc09b8b476ff4937bed538\"\u003e\u003ccode\u003e508b0e7\u003c/code\u003e\u003c/a\u003e build(deps): bump softprops/action-gh-release in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1563\"\u003e#1563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/e31f481006755785e0fffc8a040e81e31aeee5b1\"\u003e\u003ccode\u003ee31f481\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.13.3 to \u0026lt;0.13.4 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1562\"\u003e#1562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/dec897bbda882b0d9f694da60047044c0f649468\"\u003e\u003ccode\u003edec897b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1561\"\u003e#1561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/0a54b4fce6a26150954c9eea8ed3720af27f06bf\"\u003e\u003ccode\u003e0a54b4f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.1 to 46.0.2 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.6.0...google-cloud-documentai-v3.7.0\"\u003e3.7.0\u003c/a\u003e (2025-10-16)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe field \u003ccode\u003etraining_method\u003c/code\u003e in \u003ccode\u003eTrainProcessorVersionRequest\u003c/code\u003e is now marked as optional  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etraining_method\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.TrainProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eprocessor_version_source\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ImportProcessorVersionRequest\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.Processor\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1beta3.ProcessorVersion\u003c/code\u003e is changed  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new messages \u003ccode\u003eEntityValidationOutput\u003c/code\u003e and \u003ccode\u003eEntitiesRevision\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new fields \u003ccode\u003eentity_validation_output\u003c/code\u003e, \u003ccode\u003eentities_revisions\u003c/code\u003e, and \u003ccode\u003eentities_revision_id\u003c/code\u003e to the \u003ccode\u003eDocument\u003c/code\u003e message  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\"\u003e4dc7381c2121c9e13b24cb3aae59523f8ff31a3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003esignature_value\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntitiesRevision\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revisions\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentity_validation_output\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.DocumentSchema\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new enum \u003ccode\u003eMethod\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003emethod\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new message \u003ccode\u003eEntityValidationOutput\u003c/code\u003e is added  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eentities_revision_id\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA new field \u003ccode\u003eannotations\u003c/code\u003e is added to message \u003ccode\u003e.google.cloud.documentai.v1beta3.Document\u003c/code\u003e  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate credentials_file argument  (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/98ee71abc0f97c88239b50bf0e0827df19630def\"\u003e98ee71abc0f97c88239b50bf0e0827df19630def\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1b6c82dedecc7f5cff09650ee204641577620751\"\u003e\u003ccode\u003e1b6c82d\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251016T234720Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14754\"\u003e#14754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/32b32eff99a3312711e116b75d12aabffa06a869\"\u003e\u003ccode\u003e32b32ef\u003c/code\u003e\u003c/a\u003e chore(librarian): Delete grpc-google-iam-v1/.OwlBot.yaml (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14747\"\u003e#14747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d0ebbba25ce500e39e43635e4d55ca8f3226fa0e\"\u003e\u003ccode\u003ed0ebbba\u003c/code\u003e\u003c/a\u003e chore(librarian): onboard google-cloud-gke-hub (\u003ca href=\"...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-worker/pull/831","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-worker/issues/831","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/831/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-13T12:02:11.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3509784954","node_id":"PR_kwDOIPyH4s6tcwE4","number":57,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-31T11:09:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T12:02:11.000Z","updated_at":"2025-10-31T11:09:19.000Z","time_to_close":1552025,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":32,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.3","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.50","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.3` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.50` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.31.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78f25499397fbcc9876a331732931d188b760b4a\"\u003e\u003ccode\u003e78f2549\u003c/code\u003e\u003c/a\u003e fix subcommand discovery (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 suppo...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/57","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/57","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/57/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-13T11:34:46.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3509687694","node_id":"PR_kwDOHGh5u86tcags","number":911,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-31T10:43:52.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T11:34:46.000Z","updated_at":"2025-10-31T10:43:54.000Z","time_to_close":1552146,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":32,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.3","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.12","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.1.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.50","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.31.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.3` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.12` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `7.0.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.44` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.1.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.50` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.31.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.3 (2025-10-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed subcommand discovery in help text. Behavior should now be the same as \u003ccode\u003e1.8\u003c/code\u003e. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/304\"\u003e#304\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/ewels/rich-click/commit/0ea0e0a13b199cc1cf28ece1338bf0838772727b\"\u003e\u003ccode\u003e0ea0e0a\u003c/code\u003e\u003c/a\u003e Bump to 1.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/78f25499397fbcc9876a331732931d188b760b4a\"\u003e\u003ccode\u003e78f2549\u003c/code\u003e\u003c/a\u003e fix subcommand discovery (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Easy as Pi release\u003c/h2\u003e\n\u003cp\u003eThis release bumps Python compatibility to the just-released Python 3.14.\u003c/p\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2025-10-09\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython3.14 compatibility \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3861\"\u003eTextualize/rich#3861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/494f83c923ca54ecc943bf5e60c0004e65fbb54e\"\u003e\u003ccode\u003e494f83c\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d476e85a19ea62966a25f6df0e0a287da52ab35f\"\u003e\u003ccode\u003ed476e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3862\"\u003e#3862\u003c/a\u003e from GeroZayas/docs/es-readme-sync-2025-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/518daaa39c17bad485c970bf229424784fbdf044\"\u003e\u003ccode\u003e518daaa\u003c/code\u003e\u003c/a\u003e docs(es): sync README.es.md (macOS, 16 colors, Python 3.8+)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cd5074f87804aac2f6e5c6143e1cac5e3a0bddc5\"\u003e\u003ccode\u003ecd5074f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3861\"\u003e#3861\u003c/a\u003e from Textualize/python314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/041406ca9b60af8fcc00cd7fc1b2973ab51eb851\"\u003e\u003ccode\u003e041406c\u003c/code\u003e\u003c/a\u003e removed asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/655b5210cb1403100a646d167cf027eec760dd9f\"\u003e\u003ccode\u003e655b521\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/27c2d2df7523315de4b81577d414db8c1c7312f9\"\u003e\u003ccode\u003e27c2d2d\u003c/code\u003e\u003c/a\u003e bump for Python3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ea9d4db5d84b4e834979304e3053bf757daae322\"\u003e\u003ccode\u003eea9d4db\u003c/code\u003e\u003c/a\u003e Update feature_request.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental improvment to access performance by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1304\"\u003edynaconf/dynaconf#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: get method to return Any type. by \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1314\"\u003edynaconf/dynaconf#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function by \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/pull/1326\"\u003edynaconf/dynaconf#1326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.12/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/pedro-psb/dynaconf/releases/tag/3.2.12\"\u003e3.2.12\u003c/a\u003e - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eget method to return Any type.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eremove unnecessary recursive evaluation call on Settings.get. \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eimprove performance of settings access in a loop (part 1). \u003cem\u003eBy Pedro Brochado\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/7606f351ac460b15c56e7a538300de4a501c56e7\"\u003e\u003ccode\u003e7606f35\u003c/code\u003e\u003c/a\u003e Release version 3.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da44e5182940299dd90ca3e2a0e0e3c23cb9ebf7\"\u003e\u003ccode\u003eda44e51\u003c/code\u003e\u003c/a\u003e perf: add lru caching to \u003ccode\u003efind_the_correct_casing\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/b75eda0da141bdc29f707f2cb0c29e06b03a72bb\"\u003e\u003ccode\u003eb75eda0\u003c/code\u003e\u003c/a\u003e fix: get method to return Any type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4f3df1a47bcb71feddf7565f603e7994c65ede65\"\u003e\u003ccode\u003e4f3df1a\u003c/code\u003e\u003c/a\u003e misc: add some profile/perf scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/420acebf64e77ba475df94dfd7d409207e5e239d\"\u003e\u003ccode\u003e420aceb\u003c/code\u003e\u003c/a\u003e refactor: merge \u003cem\u003esafe\u003c/em\u003e{get,copy} into .get and .copy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/18c0c8422dc9651d57c76d1b098ad6fb3f75c09d\"\u003e\u003ccode\u003e18c0c84\u003c/code\u003e\u003c/a\u003e fix: remove unnecessary recursive evaluation call on Settings.get\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/0fde96f2e0b71309e63800ddac8eceda062155a9\"\u003e\u003ccode\u003e0fde96f\u003c/code\u003e\u003c/a\u003e refactor: rewrite decorator as explicit call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/52efd9ed78d2187550e03a2ae5008661d5e28df9\"\u003e\u003ccode\u003e52efd9e\u003c/code\u003e\u003c/a\u003e Bump to version 3.2.12-dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\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/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Support using other Sigstore instances with \u003ccode\u003e--instance URL\u003c/code\u003e.\nNew instances are trusted with new top level command \u003ccode\u003etrust-instance ROOTFILE\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1548\"\u003e#1548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cryptography 46 to list of compatible cryptography releases\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error message when verifying bundles with unsupported log entry versions\n(\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Always read/write UTF-8. This fixes an issue on Windows where the platform\ndefault encoding was used: the issue has existed for a while, but became more visible\nwith signature bundles that contain rekor2 entries.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1553\"\u003e#1553\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 suppo...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/911","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/911","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/911/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-07T10:42:01.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2893509065","node_id":"PR_kwDOHGh5u86sd3HJ","number":910,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T10:42:01.000Z","updated_at":"2025-10-07T10:42:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":31,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.2","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.46","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.3","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.46` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\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/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/910","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/910","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/910/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-07T10:41:41.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2893507894","node_id":"PR_kwDOINe-us6sd202","number":108,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T10:41:41.000Z","updated_at":"2025-10-07T10:41:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":31,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.2","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"beaupy","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/petereon/beaupy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.46","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.3","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [beaupy](https://github.com/petereon/beaupy) | `3.10.1` | `3.10.2` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.46` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy Windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.2.dev0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2 (2025-10-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed legacy windows rendering\u003c/li\u003e\n\u003cli\u003eFix issue with parent \u003ccode\u003eclick.Group\u003c/code\u003e and child \u003ccode\u003erich_click.RichCommand\u003c/code\u003e error formatter not resolving.\u003c/li\u003e\n\u003cli\u003eAdd headers to tables (by default these are not shown).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\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/ewels/rich-click/commit/12a50e911c05c6c8c97bfdd48147f999368bc7f5\"\u003e\u003ccode\u003e12a50e9\u003c/code\u003e\u003c/a\u003e Finish testing for 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/a2ccfed4946d5a7d677d0b5750617575f9de8c09\"\u003e\u003ccode\u003ea2ccfed\u003c/code\u003e\u003c/a\u003e 1.9.2 (\u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e6.1.0 October 1 2025\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beaupy` from 3.10.1 to 3.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petereon/beaupy/releases\"\u003ebeaupy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency flake8 to v7.1.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/129\"\u003epetereon/beaupy#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency isort to v5.13.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/130\"\u003epetereon/beaupy#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency mypy to v1.14.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/131\"\u003epetereon/beaupy#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adding documentation for global config by \u003ca href=\"https://github.com/petereon\"\u003e\u003ccode\u003e@​petereon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/148\"\u003epetereon/beaupy#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pytest to v8.4.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/147\"\u003epetereon/beaupy#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency black to v25 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/144\"\u003epetereon/beaupy#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency pydoc-markdown to v4.8.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/petereon/beaupy/pull/132\"\u003epetereon/beaupy#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ehttps://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/a2dc15764508c0451ed4dc386f3b0761fe7a9ce2\"\u003e\u003ccode\u003ea2dc157\u003c/code\u003e\u003c/a\u003e chore: bump version from 3.10.1 to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7599e5a43be6893c81612314f410ffa602a15f57\"\u003e\u003ccode\u003e7599e5a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/132\"\u003e#132\u003c/a\u003e from petereon/renovate/pydoc-markdown-4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/6b2bb33d4fef6f2a607e1f42c873bd92ffc2b0d5\"\u003e\u003ccode\u003e6b2bb33\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pydoc-markdown to v4.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/d2b0cbc3bb6b191816fdef9319a150e9b305ae7f\"\u003e\u003ccode\u003ed2b0cbc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/144\"\u003e#144\u003c/a\u003e from petereon/renovate/black-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/926fb4e8773f587417e7a3f453af1641364888e5\"\u003e\u003ccode\u003e926fb4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency black to v25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/df126efc542641c8f7385f8087a19a95ee1615b7\"\u003e\u003ccode\u003edf126ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/147\"\u003e#147\u003c/a\u003e from petereon/renovate/pytest-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/0eb77250022a166836a4594a489d9c178591234b\"\u003e\u003ccode\u003e0eb7725\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pytest to v8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/7b9234631ce3510e433fbb59d4c0e829d70fd569\"\u003e\u003ccode\u003e7b92346\u003c/code\u003e\u003c/a\u003e chore: linting code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/531e870193a7cb26ab43370a45d8562cb44d8b15\"\u003e\u003ccode\u003e531e870\u003c/code\u003e\u003c/a\u003e chore: fix weird types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petereon/beaupy/commit/dfd9dbc54327c19455197566f7161de08ad3180b\"\u003e\u003ccode\u003edfd9dbc\u003c/code\u003e\u003c/a\u003e docs: adding documentation for global config (\u003ca href=\"https://redirect.github.com/petereon/beaupy/issues/148\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petereon/beaupy/compare/v3.10.1...v3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-02T11:03:17.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2881390952","node_id":"PR_kwDOIPyH4s6rvolo","number":55,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-02T11:03:17.000Z","updated_at":"2025-10-02T11:03:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-02T10:47:47.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2881346491","node_id":"PR_kwDOIPxgHc6rvdu7","number":73,"state":"open","title":"build(deps): bump the python-deps group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-02T10:47:47.000Z","updated_at":"2025-10-02T10:47:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":15,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"alembic","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-deps group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.16.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.43` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.0.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.6.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.10.7` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\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/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\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/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13659\"\u003e#13659\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/59bfd42cf8a2eaeed696a7504890bce5aae815ce\"\u003e59bfd42\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5e2ba929d44fefe28a3376a74344d314ea8c3f99\"\u003e\u003ccode\u003e5e2ba92\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14505\"\u003e#14505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ac6a7213bd0fee9291ae0ab8aa0009cc334b0156\"\u003e\u003ccode\u003eac6a721\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-texttospeech] add Gemini TTS Multispeaker API fields (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6842396f3662264aa1beca9a5a08f9d0f171483a\"\u003e\u003ccode\u003e6842396\u003c/code\u003e\u003c/a\u003e docs: [google-cloud-cloudsecuritycompliance] updated documentation for APIs (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/94387fbab5eb311da34cebfbd6f5f599f8078a18\"\u003e\u003ccode\u003e94387fb\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-dataplex] A new service \u003ccode\u003eBusinessGlossaryService\u003c/code\u003e is adde...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/709f283915c348c549ddba1b56a133c192e6caae\"\u003e\u003ccode\u003e709f283\u003c/code\u003e\u003c/a\u003e chore: add link to PyPI history in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14506\"\u003e#14506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/26730096e491346f02af2a82138224a110485e74\"\u003e\u003ccode\u003e2673009\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20250919T072957Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14501\"\u003e#14501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/db0680bd38e8707d5eb974b1b820cf9219a61463\"\u003e\u003ccode\u003edb0680b\u003c/code\u003e\u003c/a\u003e chore: remove obsolete scripts (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14444\"\u003e#14444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/8be8e45fe4b0e1e0885b870a4d8dd9793a9a5cd4\"\u003e\u003ccode\u003e8be8e45\u003c/code\u003e\u003c/a\u003e chore: remove testing/.gitignore (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14445\"\u003e#14445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5877dca12c8c5171e924bd1a30263b04b9ecbc3b\"\u003e\u003ccode\u003e5877dca\u003c/code\u003e\u003c/a\u003e chore: remove redundant files (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14446\"\u003e#14446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f9fc5fccd48d87af3edb9668e5e962d097457d58\"\u003e\u003ccode\u003ef9fc5fc\u003c/code\u003e\u003c/a\u003e fix!: Moved Company enums to a separate file (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14455\"\u003e#14455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\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.5 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.5...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/i...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/73","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/73","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/73/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-02T10:41:19.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2881327196","node_id":"PR_kwDOINe-us6rvZBc","number":107,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-07T10:39:41.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-02T10:41:19.000Z","updated_at":"2025-10-07T10:39:41.000Z","time_to_close":431902,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.5 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.5...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-10-02T10:41:02.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2881326369","node_id":"PR_kwDOHGh5u86rvY0h","number":909,"state":"open","title":"build(deps): bump the pipenv group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T10:41:02.000Z","updated_at":"2025-10-02T10:41:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":30,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"isort","old_version":"6.0.1","new_version":"6.1.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.43","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [isort](https://github.com/PyCQA/isort) | `6.0.1` | `6.1.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.43` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs discussions channel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 classifier and badge (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop use of non-standard pkg_resources API (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e) \u003ca href=\"https://github.com/dvarrazzo\"\u003e\u003ccode\u003e@​dvarrazzo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse working isort version in pre-commit example (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2402\"\u003e#2402\u003c/a\u003e) \u003ca href=\"https://github.com/iainelder\"\u003e\u003ccode\u003e@​iainelder\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo in _get_files_from_dir_cached test (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2392\"\u003e#2392\u003c/a\u003e) \u003ca href=\"https://github.com/tiltingpenguin\"\u003e\u003ccode\u003e@​tiltingpenguin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve bandit warnings (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2379\"\u003e#2379\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tox for cross-platform, parallel test suite execution (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2378\"\u003e#2378\u003c/a\u003e) \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Project URLs to PyPI Side Panel (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2387\"\u003e#2387\u003c/a\u003e) \u003ca href=\"https://github.com/guillermodotn\"\u003e\u003ccode\u003e@​guillermodotn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2376\"\u003e#2376\u003c/a\u003e) \u003ca href=\"https://github.com/co63oc\"\u003e\u003ccode\u003e@​co63oc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd make bash scripts portable (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2377\"\u003e#2377\u003c/a\u003e) \u003ca href=\"https://github.com/staticdev\"\u003e\u003ccode\u003e@​staticdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2395\"\u003e#2395\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/PyCQA/isort/commit/ec0efaee4acfce198521e43caa3029b06cedd64a\"\u003e\u003ccode\u003eec0efae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2410\"\u003e#2410\u003c/a\u003e from PyCQA/docs/discussion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8af675ffcbb25dc5b5c2ff52863afc2923a818e2\"\u003e\u003ccode\u003e8af675f\u003c/code\u003e\u003c/a\u003e Update docs discussions channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/a03dae897f7e4a2b2eeb01d094b2c112b10ff0b7\"\u003e\u003ccode\u003ea03dae8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2409\"\u003e#2409\u003c/a\u003e from PyCQA/build/py314-classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/2232a26fd15d43ad0fca0e662d311ca4cf0d161e\"\u003e\u003ccode\u003e2232a26\u003c/code\u003e\u003c/a\u003e Add python 3.14 classifier and badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/ec48dd7c823bcebf6da93db5eb4921a7808e6bb3\"\u003e\u003ccode\u003eec48dd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2405\"\u003e#2405\u003c/a\u003e from dvarrazzo/fix/drop-pkg-resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/be46cd476d1a61996a6a4469177edf0869df531e\"\u003e\u003ccode\u003ebe46cd4\u003c/code\u003e\u003c/a\u003e refactor: make importlib metadata package import lazy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/18ecd0c3bf0bc7d6eb9bb5b9a72297f172a57663\"\u003e\u003ccode\u003e18ecd0c\u003c/code\u003e\u003c/a\u003e chore: drop branch guarding unsupported Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/1d42e564d9bd1e026e8d635880336dd0528c2c29\"\u003e\u003ccode\u003e1d42e56\u003c/code\u003e\u003c/a\u003e fix: drop use of non-standard pkg_resources API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0c8fc82fdf1b60065d447f3f7307f01c51d44b01\"\u003e\u003ccode\u003e0c8fc82\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2406\"\u003e#2406\u003c/a\u003e from PyCQA/dependabot/github_actions/github-actions-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/3478763347707341e3ce729008acc9cf73a0ff35\"\u003e\u003ccode\u003e3478763\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 in the github-actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.0.1...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.43\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a295071652c108ad61257dc2e91e73d3b286ca22\"\u003e\u003ccode\u003ea295071\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.43'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86bb6e1cf0aabd28a549ef1d7e3f79dfbea3fd86\"\u003e\u003ccode\u003e86bb6e1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9f52c6fc22757c723fb03990e59783ca749a660c\"\u003e\u003ccode\u003e9f52c6f\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fe09306b610f592d9e2e0b307a68ee065c5d78c0\"\u003e\u003ccode\u003efe09306\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3d3a44d119c3e1060c124b8f2022119b1bbb5b96\"\u003e\u003ccode\u003e3d3a44d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.42' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d433126ae2cb74c0fa6406cec76b93aaf406639d\"\u003e\u003ccode\u003ed433126\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a84d682769468485c7116022e78d43b65b24429\"\u003e\u003ccode\u003e1a84d68\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0d23a56b0d0ce57de93cc66481c25d86d99ac89b\"\u003e\u003ccode\u003e0d23a56\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7032db97df1ec5ea8d03a2c34fd934ddb805366a\"\u003e\u003ccode\u003e7032db9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.41' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a1368349c790a211330eb70b35c60d69fe74538\"\u003e\u003ccode\u003e1a13683\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.41\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.43\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/909","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/909","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/909/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":"the dependencies group","pr_created_at":"2025-09-29T23:26:38.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3466978689","node_id":"PR_kwDOAHkylc6rNTIu","number":2870,"state":"open","title":"build(deps): bump securesystemslib from 1.3.0 to 1.3.1 in the dependencies group","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T23:26:38.000Z","updated_at":"2025-09-29T23:30:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"}],"path":"the dependencies group","ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update: [securesystemslib](https://github.com/secure-systems-lab/securesystemslib).\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=securesystemslib\u0026package-manager=pip\u0026previous-version=1.3.0\u0026new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/theupdateframework/python-tuf/pull/2870","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theupdateframework%2Fpython-tuf/issues/2870","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2870/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-09-29T22:20:10.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2872256423","node_id":"PR_kwDOA4xgiM6rMyen","number":890,"state":"closed","title":"Bump the dependencies group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-30T06:56:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T22:20:10.000Z","updated_at":"2025-09-30T06:56:57.000Z","time_to_close":31007,"merged_at":"2025-09-30T06:56:57.000Z","merged_by":"lukpueh","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":4,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.1","repository_url":"https://github.com/pyca/cryptography"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the dependencies group with 4 updates: [securesystemslib[crypto]](https://github.com/secure-systems-lab/securesystemslib), [cffi](https://github.com/python-cffi/cffi), [cryptography](https://github.com/pyca/cryptography) and [pycparser](https://github.com/eliben/pycparser).\n\nUpdates `securesystemslib[crypto]` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib[crypto]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib[crypto]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\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 `cryptography` from 45.0.5 to 46.0.1\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.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\u003c/p\u003e\n\u003cp\u003e45.0.7 - 2025-09-01\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Added a function to support an upcoming ``pyOpenSSL`` release.\n\u003cp\u003e.. _v45-0-6:\u003c/p\u003e\n\u003cp\u003e45.0.6 - 2025-08-05\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e076d08ee42da5daa432d1d145b8bee2dc0d5b44\"\u003e\u003ccode\u003ee076d08\u003c/code\u003e\u003c/a\u003e Attempt to fix commit message for bump downstreams (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13440\"\u003e#13440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/6835ce899e03215689964f5f28bd88b86d3e60ca\"\u003e\u003ccode\u003e6835ce8\u003c/code\u003e\u003c/a\u003e Put correct version bounds for pyenchant in pins (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13441\"\u003e#13441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycparser` from 2.22 to 2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eliben/pycparser/releases\"\u003epycparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease_v2.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow abstract declarator \u0026quot;static\u0026quot; (GH issue \u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/539\"\u003e#539\u003c/a\u003e) by \u003ca href=\"https://github.com/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/550\"\u003eeliben/pycparser#550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dirent and socket typedefs. by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for labels with no statement by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept empty 'case' or 'default' labels by \u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/564\"\u003eeliben/pycparser#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve parentheses for statement exprs by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: hex float types by \u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/567\"\u003eeliben/pycparser#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit error for comments, with README link by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eshowemptyattrs option on Node.show() by \u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/570\"\u003eeliben/pycparser#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fake typedefs for GNU Extension 128-bit integers. by \u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypedef for __kernel_sa_family_t in linux/socket.h by \u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\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/gperciva\"\u003e\u003ccode\u003e@​gperciva\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/545\"\u003eeliben/pycparser#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/558\"\u003eeliben/pycparser#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ignatirabo\"\u003e\u003ccode\u003e@​ignatirabo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/562\"\u003eeliben/pycparser#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zawan-ila\"\u003e\u003ccode\u003e@​zawan-ila\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/566\"\u003eeliben/pycparser#566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cellularmitosis\"\u003e\u003ccode\u003e@​cellularmitosis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/569\"\u003eeliben/pycparser#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dj-wednesday\"\u003e\u003ccode\u003e@​dj-wednesday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/577\"\u003eeliben/pycparser#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crosser\"\u003e\u003ccode\u003e@​crosser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/eliben/pycparser/pull/578\"\u003eeliben/pycparser#578\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ehttps://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\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/eliben/pycparser/commit/5b60167602e7914139b3e277266ccdff5c24dbf2\"\u003e\u003ccode\u003e5b60167\u003c/code\u003e\u003c/a\u003e Prepare for release 2.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7b24736bbb875a5c6c6f0520412f03aace75d0ee\"\u003e\u003ccode\u003e7b24736\u003c/code\u003e\u003c/a\u003e Typedef for __kernel_sa_family_t in _fake_typedefs.h (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/90184f1f4eb1234fb9e7ae0c8b74eab9ea963482\"\u003e\u003ccode\u003e90184f1\u003c/code\u003e\u003c/a\u003e Add fake typedefs for GNU Extension 128-bit integers. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/f04fdcde3d95be4a632948718d0c46eac09c50ce\"\u003e\u003ccode\u003ef04fdcd\u003c/code\u003e\u003c/a\u003e showemptyattrs option on Node.show() (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/156eae7f42843d8a3e78a68995d9cc7485577e38\"\u003e\u003ccode\u003e156eae7\u003c/code\u003e\u003c/a\u003e Explicit error for comments, with README link (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/2215299261306df71e2cec23bb3acd7b8f31f8db\"\u003e\u003ccode\u003e2215299\u003c/code\u003e\u003c/a\u003e fix: hex float types (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/037bd31d4e0e69e8c4d80e45311ae46abc15dd4e\"\u003e\u003ccode\u003e037bd31\u003c/code\u003e\u003c/a\u003e fix: preserve parentheses for statement exprs (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/9cecc090151b31d8821786bca3b25851a4a33272\"\u003e\u003ccode\u003e9cecc09\u003c/code\u003e\u003c/a\u003e Accept empty 'case' or 'default' labels (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/7ae671d3ac44e1000bcbe7108b24bdb9187443ac\"\u003e\u003ccode\u003e7ae671d\u003c/code\u003e\u003c/a\u003e Support for labels with no statement (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eliben/pycparser/commit/42b542324859a108f2cf35bcfe21fe5877ceb091\"\u003e\u003ccode\u003e42b5423\u003c/code\u003e\u003c/a\u003e Add dirent and socket typedefs. (\u003ca href=\"https://redirect.github.com/eliben/pycparser/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eliben/pycparser/compare/release_v2.22...release_v2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/in-toto/in-toto/pull/890","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-toto%2Fin-toto/issues/890","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/890/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-09-29T15:38:31.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2871139941","node_id":"PR_kwDOHGh5u86rIh5l","number":907,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T10:39:03.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T15:38:31.000Z","updated_at":"2025-10-02T10:39:03.000Z","time_to_close":241232,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cf...\n\n_Description has been truncated_","html_url":"https://github.com/repository-service-tuf/repository-service-tuf-cli/pull/907","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/repository-service-tuf%2Frepository-service-tuf-cli/issues/907","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/907/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-09-29T15:01:01.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2871005035","node_id":"PR_kwDOIPyH4s6rIA9r","number":53,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T11:01:20.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-09-29T15:01:01.000Z","updated_at":"2025-10-02T11:01:20.000Z","time_to_close":244819,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.8","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.3.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.8` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.3.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.8 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.8...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cf...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-cli/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-cli/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-09-29T14:05:02.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"2870798654","node_id":"PR_kwDOINe-us6rHOk-","number":106,"state":"closed","title":"build(deps): bump the pipenv group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T10:38:59.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-09-29T14:05:02.000Z","updated_at":"2025-10-02T10:39:00.000Z","time_to_close":246837,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pipenv","update_count":29,"packages":[{"name":"rich-click","old_version":"1.8.8","new_version":"1.9.1","repository_url":"https://github.com/ewels/rich-click"},{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"dynaconf","old_version":"3.2.10","new_version":"3.2.11","repository_url":"https://github.com/dynaconf/dynaconf"},{"name":"sqlalchemy","old_version":"2.0.40","new_version":"2.0.43","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sigstore","old_version":"3.6.2","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"boto3","old_version":"1.38.5","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"google-cloud-kms","old_version":"3.4.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"azure-keyvault-keys","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"setuptools","old_version":"80.0.1","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"pykcs11","old_version":"1.5.17","new_version":"1.5.18","repository_url":"https://github.com/LudovicRousseau/PyKCS11"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"tox","old_version":"4.25.0","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"pytest","old_version":"8.3.5","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-xdist","old_version":"3.6.1","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"mypy","old_version":"1.15.0","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"pip","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/pypa/pip"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"bandit","old_version":"1.8.3","new_version":"1.8.6","repository_url":"https://github.com/PyCQA/bandit"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pipenv group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich-click](https://github.com/ewels/rich-click) | `1.8.8` | `1.9.1` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [dynaconf](https://github.com/dynaconf/dynaconf) | `3.2.10` | `3.2.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.40` | `2.0.43` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.2` | `4.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.5` | `1.40.40` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.4.1` | `3.6.0` |\n| [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python) | `4.10.0` | `4.11.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.1` | `80.9.0` |\n| [pykcs11](https://github.com/LudovicRousseau/PyKCS11) | `1.5.17` | `1.5.18` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.25.0` | `4.30.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.1.1` | `7.0.0` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.6.1` | `3.8.0` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.18.2` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.2` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.3.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.3` | `1.8.6` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n\n\nUpdates `rich-click` from 1.8.8 to 1.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ewels/rich-click/releases\"\u003erich-click's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSignificant refactors to help text rendering.\u003c/li\u003e\n\u003cli\u003eReintroduced deprecation warnings for a couple of features deprecated in 1.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ewels/rich-click/blob/main/CHANGELOG.md\"\u003erich-click's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.1 (2025-09-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug where running the \u003ccode\u003erich-click\u003c/code\u003e CLI on a \u003ccode\u003e@rich_click.argument()\u003c/code\u003e sometimes caused arguments show up in the option panel when it shouldn't.\u003c/li\u003e\n\u003cli\u003eSlightly reduced horizontal padding of the \u003ccode\u003emodern\u003c/code\u003e theme format.\u003c/li\u003e\n\u003cli\u003eFixed Click 8.3 compatibility with rendering defaults in help text.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0 (2025-09-16)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 deprecates support for a lot of old versions of things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.7 support is removed.\u003c/strong\u003e The minimum supported Python version is 3.8.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClick 7 support is removed.\u003c/strong\u003e The minimum supported Click version is 8.0.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRich 10 and 11 support is removed.\u003c/strong\u003e The minimum supported Rich version is 12.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nVersion 1.9.0 introduces a minor breaking change:\nThe \u003ccode\u003eDEFAULT_STRING\u003c/code\u003e, \u003ccode\u003eENVVAR_STRING\u003c/code\u003e, \u003ccode\u003eREQUIRED_STRING\u003c/code\u003e, and \u003ccode\u003eDEPRECATED_STRING\u003c/code\u003e config options are now rendered with \u003ccode\u003eText.from_markup\u003c/code\u003e.\nSo for example, \u003ccode\u003eREQUIRED_STRING = \u0026quot;[required]\u0026quot;\u003c/code\u003e would be rendered as Rich markup.\nYou must now escape the rich markup: \u003ccode\u003eREQUIRED_STRING = \u0026quot;\\\\[required]\u0026quot;\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eBig changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThemes!\u003c/strong\u003e Check them out with \u003ccode\u003erich-click --themes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyper support:\u003c/strong\u003e \u003ccode\u003erich-click typer_app --help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRichPanels\u003c/strong\u003e API introduced. This replaces the \u0026quot;groups\u0026quot; feature going forward (although groups will continue to be supported).\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@click.option_panel()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@click.command_panel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIDE tab completion support for decorators\u003c/strong\u003e. Now you should no longer need to guess what goes in \u003ccode\u003e@click.option()\u003c/code\u003e or \u003ccode\u003e@click.command(context_settings=...)\u003c/code\u003e etc.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHelp for arguments:\u003c/strong\u003e \u003ccode\u003ehelp=\u003c/code\u003e is now a valid kwarg for \u003ccode\u003e@click.argument()\u003c/code\u003e decorator. See docs for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSmall changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;Deprecated\u0026quot; text properly handled and stylized in all places.\u003c/li\u003e\n\u003cli\u003eCommand aliases: \u003ccode\u003e@cli.command(aliases=[\u0026quot;foo\u0026quot;])\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003erich-click\u003c/code\u003e CLI usability: improved patching and improved script detection+execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtext_settings={\u0026quot;help_to_stderr\u0026quot;: True}\u003c/code\u003e support.\u003c/li\u003e\n\u003cli\u003eAdded suite of \u003ccode\u003epadding_*\u003c/code\u003e config options to control padding.\n\u003cul\u003e\n\u003cli\u003eBetter newline handling:\n\u003cul\u003e\n\u003cli\u003eUnordered lists create newlines in help text, e.g. \u003ccode\u003e\u0026quot;\\n- foo\\n- bar\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;\\n* foo\\n* bar\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNewline control in help text with \u003ccode\u003etext_paragraph_linebreaks\u003c/code\u003e config option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a few \u003ccode\u003etext_*\u003c/code\u003e config options, including notably \u003ccode\u003etext_kwargs\u003c/code\u003e which can control code styles in Markdown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBackend (mostly invisible) changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled our test suite to use \u003cstrong\u003einline-snapshot\u003c/strong\u003e! 😁\u003c/li\u003e\n\u003cli\u003eImproved test coverage and CI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etyping_extensions\u003c/code\u003e now only required for \u0026lt; Python 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRichHelpFormatter\u003c/code\u003e now defers printing by default if a user does not specify a Console. [\u003ca href=\"https://redirect.github.com/ewels/rich-click/pull/231\"\u003e#231\u003c/a\u003e] (With contributions from \u003ca href=\"https://github.com/ofek\"\u003e\u003ccode\u003e@​ofek\u003c/code\u003e\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis more closely aligns the \u003ccode\u003eRichHelpFormatter\u003c/code\u003e with how base Click works.\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/ewels/rich-click/commit/f041971bbd2ebadcfaed2e66b4e002260bf232eb\"\u003e\u003ccode\u003ef041971\u003c/code\u003e\u003c/a\u003e set date for changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/09b3ece0cf9fefaf98d83b9efd56e27083e6acc5\"\u003e\u003ccode\u003e09b3ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/296\"\u003e#296\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/164d7c0cb623d1332d43b66dee4fc3b911dd3544\"\u003e\u003ccode\u003e164d7c0\u003c/code\u003e\u003c/a\u003e add 8.3 to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/c792472a3217d4a371352d1f9567b55287318689\"\u003e\u003ccode\u003ec792472\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/295\"\u003e#295\u003c/a\u003e from dwreeves/issue-293\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/2268fc4e197c988f14076a138f797dc564367a47\"\u003e\u003ccode\u003e2268fc4\u003c/code\u003e\u003c/a\u003e fix 8.3 incompatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/bb9d72e0104b14629f7101aca01808c07bd5b5b9\"\u003e\u003ccode\u003ebb9d72e\u003c/code\u003e\u003c/a\u003e Generate new screengrabs with rich-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/ff6722289f441cb7c511a2103410b1188a957cbe\"\u003e\u003ccode\u003eff67222\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ewels/rich-click/issues/291\"\u003e#291\u003c/a\u003e from dwreeves/19-extremely-minor-bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/96d7dc02db171b52cec1ac73464a51856fbaecc0\"\u003e\u003ccode\u003e96d7dc0\u003c/code\u003e\u003c/a\u003e update test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/d39454aedf9e13490a83450c95a37aa178c289b4\"\u003e\u003ccode\u003ed39454a\u003c/code\u003e\u003c/a\u003e Fix and reduce modern padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewels/rich-click/commit/5d468b0a464f77019bc6f3ec54719931f8b45718\"\u003e\u003ccode\u003e5d468b0\u003c/code\u003e\u003c/a\u003e Extremely minor bugfix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ewels/rich-click/compare/v1.8.8...v1.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-2-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-2-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/25\"\u003ehttps://github.com/pallets/click/milestone/25\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2952\"\u003e#2952\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2956\"\u003e#2956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying functino \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2777\"\u003e#2777\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2990\"\u003e#2990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2911\"\u003e#2911\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3004\"\u003e#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2703\"\u003e#2703\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2846\"\u003e#2846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2971\"\u003e#2971\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2972\"\u003e#2972\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/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\n:issue:\u003ccode\u003e2952\u003c/code\u003e :pr:\u003ccode\u003e2956\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix typing issue in \u003ccode\u003eBadParameter\u003c/code\u003e and \u003ccode\u003eMissingParameter\u003c/code\u003e exceptions for the\nparameter \u003ccode\u003eparam_hint\u003c/code\u003e that did not allow for a sequence of string where the\nunderlying function \u003ccode\u003e_join_param_hints\u003c/code\u003e allows for it. :issue:\u003ccode\u003e2777\u003c/code\u003e :pr:\u003ccode\u003e2990\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse the value of \u003ccode\u003eEnum\u003c/code\u003e choices to render their default value in help\nscreen. Refs :issue:\u003ccode\u003e2911\u003c/code\u003e :pr:\u003ccode\u003e3004\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix completion for the Z shell (\u003ccode\u003ezsh\u003c/code\u003e) for completion items containing\ncolons. :issue:\u003ccode\u003e2703\u003c/code\u003e :pr:\u003ccode\u003e2846\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDon't include envvar in error hint when not configured. :issue:\u003ccode\u003e2971\u003c/code\u003e :pr:\u003ccode\u003e2972\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a rare race in \u003ccode\u003eclick.testing.StreamMixer\u003c/code\u003e's finalization that manifested\nas a \u003ccode\u003eValueError\u003c/code\u003e on close in a multi-threaded test session.\n:issue:\u003ccode\u003e2993\u003c/code\u003e :pr:\u003ccode\u003e2991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-20\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/pallets/click/commit/00fadb8904387158ce6e9aa1573be770446895c1\"\u003e\u003ccode\u003e00fadb8\u003c/code\u003e\u003c/a\u003e Release version 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/2a0e3ba907927ade6951d5732b775f11b54cb766\"\u003e\u003ccode\u003e2a0e3ba\u003c/code\u003e\u003c/a\u003e testing/CliRunner: Fix regression related to EOF introduced in 262bdf0 (\u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e11a1efc3395e998a1521a0dc35672a799e78d30\"\u003e\u003ccode\u003ee11a1ef\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix-cli-runner-prompt-eof-handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/36deba8a95a2585de1a2aa4475b7f054f52830ac\"\u003e\u003ccode\u003e36deba8\u003c/code\u003e\u003c/a\u003e Forward exception information to resources registered in a context (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f2cae7ae997cd32311cab3dede4c2b89fe05e191\"\u003e\u003ccode\u003ef2cae7a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Add summary of PR to changelog for 8.3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/7c7ec36354f49d1a092cb077fa4881ea4d70ba01\"\u003e\u003ccode\u003e7c7ec36\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Split resource exception handling tests in single and nested\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/92129c552da88ac30b578132031efa4b003ecc46\"\u003e\u003ccode\u003e92129c5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Added exception forwarding to context tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/555fa9bb37770a6845a98be60b0c84876775552e\"\u003e\u003ccode\u003e555fa9b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e Forward exception data to exit stack when calling \u003ccode\u003e__exit__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/16fe802a3f96c4c8fa3cd382f1a7577fda0c5321\"\u003e\u003ccode\u003e16fe802\u003c/code\u003e\u003c/a\u003e Add more tests on \u003ccode\u003eEnum\u003c/code\u003e rendering (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/d36de6fc67882f23d7a7d61cd4c0e25e0f88b0ac\"\u003e\u003ccode\u003ed36de6f\u003c/code\u003e\u003c/a\u003e Add more tests on Enum rendering their item's names and not values\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.8...8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.0.0 to 14.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Lively Release\u003c/h2\u003e\n\u003cp\u003eLive objects may now be nested. Previously a progress bar inside another progress context would fail. See the changelog below for this and other changes.\u003c/p\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.1.0] - 2025-06-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003etyping_extensions\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3763\"\u003eTextualize/rich#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLive objects (including Progress) may now be nested \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3768\"\u003eTextualize/rich#3768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded padding property to Syntax which returns a tuple of four integers \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed extraction of recursive exceptions \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3772\"\u003eTextualize/rich#3772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed padding applied to Syntax \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3782\"\u003eTextualize/rich#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ePanel\u003c/code\u003e title missing the panel background style \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3569\"\u003eTextualize/rich#3569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eTTY_INTERACTIVE\u003c/code\u003e environment variable to force interactive mode off or on \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3777\"\u003eTextualize/rich#3777\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/Textualize/rich/commit/2dca1b70359dac61e1bbfb6f14ebe19a5ab79c3d\"\u003e\u003ccode\u003e2dca1b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3808\"\u003e#3808\u003c/a\u003e from Textualize/bump1410\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19b6dddd807b887eaaf313174fff3eb2e22cda25\"\u003e\u003ccode\u003e19b6ddd\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/a75a9a9838814cffb68cefe3522fc47c8ddce768\"\u003e\u003ccode\u003ea75a9a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3807\"\u003e#3807\u003c/a\u003e from Textualize/optimize-options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9a08a2d3a983591e2d0d46e4f63558dd8df9e47d\"\u003e\u003ccode\u003e9a08a2d\u003c/code\u003e\u003c/a\u003e optimize size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/9c9b011187bba772dca57653c9114005b489f005\"\u003e\u003ccode\u003e9c9b011\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3680\"\u003e#3680\u003c/a\u003e from Textualize/willmcgugan-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/56855a6b81befafa6e978cffed4c1fb389a20df0\"\u003e\u003ccode\u003e56855a6\u003c/code\u003e\u003c/a\u003e Update bug_report.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/fa9ce3ce70c22ea2bb83dbd1f867fe90d1b3f0c5\"\u003e\u003ccode\u003efa9ce3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3692\"\u003e#3692\u003c/a\u003e from smacke/null-tb-offset-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/e0c7e96b303e6f3e48818380527129fb21f453f3\"\u003e\u003ccode\u003ee0c7e96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3783\"\u003e#3783\u003c/a\u003e from Textualize/live-typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/81b12554b3b15374aa48dae3f6507202bd8fab3e\"\u003e\u003ccode\u003e81b1255\u003c/code\u003e\u003c/a\u003e Self typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/21b3800894f6a81d3f68a0e34796be67e3ccd39f\"\u003e\u003ccode\u003e21b3800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/3718\"\u003e#3718\u003c/a\u003e from TomJGooding/fix-panel-fix-title-missing-panel-b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dynaconf` from 3.2.10 to 3.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dynaconf/dynaconf/releases\"\u003edynaconf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eRelease version 3.2.11\u003c/p\u003e\n\u003cp\u003eShortlog of commits since last release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBruno Rocha (9): \u003ca href=\"https://github.com/rochacbruno\"\u003e\u003ccode\u003e@​rochacbruno\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): handle empty hooks and boolean environments.\u003c/li\u003e\n\u003cli\u003efix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003efix: windows CI\u003c/li\u003e\n\u003cli\u003efeat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFabricio Aguiar (1): \u003ca href=\"https://github.com/fao89\"\u003e\u003ccode\u003e@​fao89\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePedro Brochado (1): \u003ca href=\"https://github.com/pedro-psb\"\u003e\u003ccode\u003e@​pedro-psb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMilestone \u003ca href=\"https://github.com/dynaconf/dynaconf/milestone/31?closed=1\"\u003ehttps://github.com/dynaconf/dynaconf/milestone/31?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ehttps://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\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/dynaconf/dynaconf/blob/3.2.11/CHANGELOG.md\"\u003edynaconf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/releases/tag/3.2.11\"\u003e3.2.11\u003c/a\u003e - 2025-05-06\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd correct supported python version to 3.2.x. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003euse sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ewindows CI. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003emake raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e). \u003cem\u003eBy Fabricio Aguiar\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eBetter way for CLI to find the Django Settings. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003ehandle empty hooks and boolean environments.. \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenvless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eRun CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e). \u003cem\u003eBy Bruno Rocha\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1273\"\u003e#1273\u003c/a\u003e). \u003cem\u003eBy Pedro Brochado\u003c/em\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/dynaconf/dynaconf/commit/c61da8fd191196c1341bd3d8a8dd895e9cf671ae\"\u003e\u003ccode\u003ec61da8f\u003c/code\u003e\u003c/a\u003e Release version 3.2.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f8189fb6c130ff4709450e7daebcf1c174aea248\"\u003e\u003ccode\u003ef8189fb\u003c/code\u003e\u003c/a\u003e fix: add correct supported python version to 3.2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/aeb31b256b436485211466214ba4f5f01a8a8305\"\u003e\u003ccode\u003eaeb31b2\u003c/code\u003e\u003c/a\u003e feat: envless load file (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/4893f4744d2c590069890756ae935059fbc08e2c\"\u003e\u003ccode\u003e4893f47\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003e-k\u003c/code\u003e must exit code 1 when key do not exist (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/d55368bb13646b8b7976e641e2df6d4ff2bd7374\"\u003e\u003ccode\u003ed55368b\u003c/code\u003e\u003c/a\u003e fix: use sys.argv instead of click.get_os_args (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/9a7af916a78c79f23f166b2e1ca077047f1c8cda\"\u003e\u003ccode\u003e9a7af91\u003c/code\u003e\u003c/a\u003e feat: Run CLI as module with \u003ccode\u003epython -m dynaconf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/f772e9fa940d7fd539e1a3d75d3e1902874b8e94\"\u003e\u003ccode\u003ef772e9f\u003c/code\u003e\u003c/a\u003e fix: windows CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/a2460bd65d94ac21a3f5f6d4a0f2ff37982e608f\"\u003e\u003ccode\u003ea2460bd\u003c/code\u003e\u003c/a\u003e fix: make raw variables private (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/da6456e98b78a1bba4c5f0cd8f4cced749ce5861\"\u003e\u003ccode\u003eda6456e\u003c/code\u003e\u003c/a\u003e docs: clarification on redis hash title when using custom envvar prefixes (\u003ca href=\"https://redirect.github.com/dynaconf/dynaconf/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dynaconf/dynaconf/commit/e5af61425d279bbbe18a3f83e95dcd0c75f04bd5\"\u003e\u003ccode\u003ee5af614\u003c/code\u003e\u003c/a\u003e fix: Better way for CLI to find the Django Settings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dynaconf/dynaconf/compare/3.2.10...3.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.40 to 2.0.43\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.43\u003c/h1\u003e\n\u003cp\u003eReleased: August 11, 2025\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using the \u003ccode\u003epost_update\u003c/code\u003e feature would apply incorrect\n\u0026quot;pre-fetched\u0026quot; values to the ORM objects after a multi-row UPDATE process\ncompleted.  These \u0026quot;pre-fetched\u0026quot; values would come from any column that had\nan \u003ccode\u003eColumn.onupdate\u003c/code\u003e callable or a version id generator used by\n\u003ccode\u003eorm.Mapper.version_id_generator\u003c/code\u003e; for a version id generator\nthat delivered random identifiers like timestamps or UUIDs, this incorrect\ndata would lead to a DELETE statement against those same rows to fail in\nthe next step.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12748\"\u003e#12748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.mapped_column.use_existing_column\u003c/code\u003e\nparameter in \u003ccode\u003e_orm.mapped_column()\u003c/code\u003e would not work when the\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e is used inside of an \u003ccode\u003eAnnotated\u003c/code\u003e type alias in\npolymorphic inheritance scenarios. The parameter is now properly recognized\nand processed during declarative mapping configuration.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12787\"\u003e#12787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Improved the implementation of the \u003ccode\u003e_orm.selectin_polymorphic()\u003c/code\u003e\ninheritance loader strategy to properly render the IN expressions using\nchunks of 500 records each, in the same manner as that of the\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e relationship loader strategy.  Previously, the IN\nexpression would be arbitrarily large, leading to failures on databases\nthat have limits on the size of IN expressions including Oracle Database.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12790\"\u003e#12790\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e Added new parameter \u003ccode\u003ecreate_engine.skip_autocommit_rollback\u003c/code\u003e\nwhich provides for a per-dialect feature of preventing the DBAPI\n\u003ccode\u003e.rollback()\u003c/code\u003e from being called under any circumstances, if the\nconnection is detected as being in \u0026quot;autocommit\u0026quot; mode.   This improves upon\na critical performance issue identified in MySQL dialects where the network\noverhead of the \u003ccode\u003e.rollback()\u003c/code\u003e call remains prohibitive even if autocommit\nmode is set.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12784\"\u003e#12784\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.2...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.5 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.5...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.4.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg ...\n\n_Description has been truncated_","html_url":"https://github.com/kairoaraujo/repository-service-tuf-cli/pull/106","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kairoaraujo%2Frepository-service-tuf-cli/issues/106","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/106/packages"}},{"old_version":"1.3.0","new_version":"1.3.1","update_type":"patch","path":null,"pr_created_at":"2025-09-29T14:03:34.000Z","version_change":"1.3.0 → 1.3.1","issue":{"uuid":"3465184588","node_id":"PR_kwDOIPxgHc6rHNZ2","number":71,"state":"open","title":"build(deps): bump the python-deps group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-29T14:03:34.000Z","updated_at":"2025-10-02T10:46:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-deps","update_count":14,"packages":[{"name":"securesystemslib","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"alembic","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.40.16","new_version":"1.40.40","repository_url":"https://github.com/boto/boto3"},{"name":"awswrangler","old_version":"3.12.1","new_version":"3.13.0","repository_url":"https://github.com/aws/aws-sdk-pandas"},{"name":"sigstore","old_version":"3.6.5","new_version":"4.0.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"google-cloud-kms","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"},{"name":"coverage","old_version":"7.10.5","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","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":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"sphinxcontrib-plantuml","old_version":"0.30","new_version":"0.31","repository_url":"https://github.com/sphinx-contrib/plantuml"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-deps group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.0` | `1.3.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.16.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [boto3](https://github.com/boto/boto3) | `1.40.16` | `1.40.40` |\n| [awswrangler](https://github.com/aws/aws-sdk-pandas) | `3.12.1` | `3.13.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `3.6.5` | `4.0.0` |\n| [google-cloud-kms](https://github.com/googleapis/google-cloud-python) | `3.5.1` | `3.6.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.5` | `7.10.7` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [sphinxcontrib-plantuml](https://github.com/sphinx-contrib/plantuml) | `0.30` | `0.31` |\n\n\nUpdates `securesystemslib` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/releases\"\u003esecuresystemslib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/blob/v1.3.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\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/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md\"\u003esecuresystemslib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esecuresystemslib v1.3.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAWSSigner: Don't send payload to AWS for signing, send hash only (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet Development status classifier to \u0026quot;production/stable\u0026quot; in Python\npackaging (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMinor infrastructure changes (\u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1005\"\u003e#1005\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1013\"\u003e#1013\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/secure-systems-lab/securesystemslib/commit/6f774190b90f0aa9d5d7e077680adbaa29c5cd6c\"\u003e\u003ccode\u003e6f77419\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1030\"\u003e#1030\u003c/a\u003e from jku/release-prep-1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/b71cc5271a9a7b6898c79c1a12393d90996d5388\"\u003e\u003ccode\u003eb71cc52\u003c/code\u003e\u003c/a\u003e Prepare release 1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/f6835096a845acf25dc3675105937be2565b9e66\"\u003e\u003ccode\u003ef683509\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1026\"\u003e#1026\u003c/a\u003e from ArkadiuszNitkaSWI/fix-aws-signer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/97527198c7bf5b75ef9fb8996412df5453995080\"\u003e\u003ccode\u003e9752719\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1027\"\u003e#1027\u003c/a\u003e from secure-systems-lab/dependabot/pip/test-and-lint...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/4226b762bf3333b5947af9cf29ed751afbfd69b9\"\u003e\u003ccode\u003e4226b76\u003c/code\u003e\u003c/a\u003e build(deps): bump the test-and-lint-dependencies group with 4 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/6394e3e467c091a06ee95dad674dec7e991758c8\"\u003e\u003ccode\u003e6394e3e\u003c/code\u003e\u003c/a\u003e Review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/dee9a831390c9a69c0e66f7c34779e9eea6dcc6d\"\u003e\u003ccode\u003edee9a83\u003c/code\u003e\u003c/a\u003e linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/07b0fc780d9d1f4c0843ce3e2096e1216814bd06\"\u003e\u003ccode\u003e07b0fc7\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e8158a4eb131760714290b9839e3e40f9cd4229c\"\u003e\u003ccode\u003ee8158a4\u003c/code\u003e\u003c/a\u003e Fix AWS signer, allow messages bigger than 4kB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/commit/e23f855ddecb97d4baddffc068e9591451b9aa72\"\u003e\u003ccode\u003ee23f855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/secure-systems-lab/securesystemslib/issues/1023\"\u003e#1023\u003c/a\u003e from secure-systems-lab/dependabot/pip/dependencies-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/secure-systems-lab/securesystemslib/compare/v1.3.0...v1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.16.5\u003c/h1\u003e\n\u003cp\u003eReleased: August 27, 2025\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mysql]\u003c/strong\u003e Fixed Python-side autogenerate rendering of index expressions in MySQL\ndialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull\nrequest courtesy david-fed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1492\"\u003e#1492\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [config]\u003c/strong\u003e Fixed issue where new pyproject.toml config would fail to parse the integer\nvalue used for the \u003ccode\u003etruncate_slug_length\u003c/code\u003e parameter.  Pull request\ncourtesy Luís Henrique Allebrandt Schunemann.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1709\"\u003e#1709\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\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/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\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/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.16 to 1.40.40\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3515909e0e4fccb5f54bff1abe327f064e13bae1\"\u003e\u003ccode\u003e3515909\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1e46da3117c01557f798750f118ab8b6fd1a0285\"\u003e\u003ccode\u003e1e46da3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/53ccfb7584000c0ce958febbe9de0b266006368b\"\u003e\u003ccode\u003e53ccfb7\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71cfc758534d5bb67f50ff42081fb4b37b3af69b\"\u003e\u003ccode\u003e71cfc75\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d947110aba3b4fb3c815e67edc10b986c8dd16ff\"\u003e\u003ccode\u003ed947110\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.39' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5653e58b19eb694241964b1dc5366ab115ee5eb6\"\u003e\u003ccode\u003e5653e58\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaaf3b06d41881163fae35faf7c778ac153339c5\"\u003e\u003ccode\u003eeaaf3b0\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c106f68211653ac9acadfded00b209385ed58617\"\u003e\u003ccode\u003ec106f68\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b063da5ebaba6a45d57ee3ba343a1a96e6342a8\"\u003e\u003ccode\u003e9b063da\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.38' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/cc3dc1c839b0c1492b8b96f04694f4b6528a3871\"\u003e\u003ccode\u003ecc3dc1c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.38\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.16...1.40.40\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `awswrangler` from 3.12.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-pandas/releases\"\u003eawswrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAWS SDK for pandas 3.13.0\u003c/h2\u003e\n\u003ch2\u003eNotable Changes ⚠️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdated \u003ccode\u003eaiohhtp==3.12.15\u003c/code\u003eto fix CVE-2025-53643 (LOW) by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3197\"\u003eaws/aws-sdk-pandas#3197\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures / Enhancements 🚀\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: ray 2.49.0 by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3194\"\u003eaws/aws-sdk-pandas#3194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for aurora-mysql and aurora-postgresql engines by \u003ca href=\"https://github.com/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: opensearch session by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3170\"\u003eaws/aws-sdk-pandas#3170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typo with Redshift write example by \u003ca href=\"https://github.com/Falydoor\"\u003e\u003ccode\u003e@​Falydoor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3184\"\u003eaws/aws-sdk-pandas#3184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: do not remove new columns values by \u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity / Dependency Updates 🛡️\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3178\"\u003eaws/aws-sdk-pandas#3178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the production-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3180\"\u003eaws/aws-sdk-pandas#3180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4 to 5 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3186\"\u003eaws/aws-sdk-pandas#3186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3196\"\u003eaws/aws-sdk-pandas#3196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3198\"\u003eaws/aws-sdk-pandas#3198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eHousekeeping 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: clean up poetry.lock by \u003ca href=\"https://github.com/kukushking\"\u003e\u003ccode\u003e@​kukushking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3171\"\u003eaws/aws-sdk-pandas#3171\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/senorcinco\"\u003e\u003ccode\u003e@​senorcinco\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3188\"\u003eaws/aws-sdk-pandas#3188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Braalfa\"\u003e\u003ccode\u003e@​Braalfa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/pull/3181\"\u003eaws/aws-sdk-pandas#3181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ehttps://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/bca1fcd701e3d3a5bc410918d6564d0899846710\"\u003e\u003ccode\u003ebca1fcd\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e936e84d214ecf37d40c5648e014b0f8192f3061\"\u003e\u003ccode\u003ee936e84\u003c/code\u003e\u003c/a\u003e fix: Readthedocs build (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/672d943de854871c09d7b158656c28c68756d91b\"\u003e\u003ccode\u003e672d943\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3199\"\u003e#3199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/c2fc56f71b75dc3d678521ca3b0bba556982d4e4\"\u003e\u003ccode\u003ec2fc56f\u003c/code\u003e\u003c/a\u003e chore: Update layers.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/2f3849db918a306f6baa81a7ff8fc8cf9708d3c5\"\u003e\u003ccode\u003e2f3849d\u003c/code\u003e\u003c/a\u003e chore(deps): update pytest-cov requirement from ~=6.0 to \u0026gt;=6,\u0026lt;8 in the produc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/b7d889e4b72f9eeb6297ca63c325e5d753a6f259\"\u003e\u003ccode\u003eb7d889e\u003c/code\u003e\u003c/a\u003e fix: do not remove new columns values (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3181\"\u003e#3181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/286535f7f2149d6fd7b60276fe52a09e96270f5f\"\u003e\u003ccode\u003e286535f\u003c/code\u003e\u003c/a\u003e chore: Release 3.13.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/706d0328b35311b40b22ae78f1cefb4888a510d5\"\u003e\u003ccode\u003e706d032\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/e93974109f314544c57109fca28cb789fbf4841a\"\u003e\u003ccode\u003ee939741\u003c/code\u003e\u003c/a\u003e feat: add support for aurora-mysql and aurora-postgresql engines (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-pandas/commit/f9c921581b511cb422997cd1109c5f43b82ab99d\"\u003e\u003ccode\u003ef9c9215\u003c/code\u003e\u003c/a\u003e feat: ray 2.49.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-pandas/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-pandas/compare/3.12.1...3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sigstore` from 3.6.5 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sigstore/sigstore-python/releases\"\u003esigstore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/blob/main/CHANGELOG.md\"\u003esigstore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.0.0]\u003c/h2\u003e\n\u003cp\u003eThis is a major release with a host of API and functionality changes. The major new feature\nis Rekor v2 support but many other changes are also included, see list below.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Add \u003ccode\u003e--rekor-version\u003c/code\u003e to \u003ccode\u003esign\u003c/code\u003e command arguments: This can be useful\nif Sigstore instance provides multiple Rekor versions and user wants to\noverride the default choice\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1471\"\u003e#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecli: Support parallel signing. When multiple artifacts are signed, the Rekor\nrequests are submitted in parallel: this is especially useful with Rekor v2.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1468\"\u003e#1468\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1478\"\u003e#1478\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1485\"\u003e#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoidc (API): Allow custom audience claims via API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1402\"\u003e#1402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor (API): Support Rekor v2 (aka rekor-tiles) in both verification and signing.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1370\"\u003e#1370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1422\"\u003e#1422\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1432\"\u003e#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): Make TrustedRoot, SigningConfig and ClientTrustConfig public API\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecli: Improve verify UX when wrong instance is used\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1510\"\u003e#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: replace sigstore_protobuf_specs dependency with sigstore-models\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1470\"\u003e#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Update embedded TUF root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): TrustConfig now provides the \u003ccode\u003eproduction()\u003c/code\u003eand \u003ccode\u003estaging()\u003c/code\u003e helpers. Similar methods were removed from\nSigningConfig, TrustedRoot, SigningContext and Issuer. Use TrustConfig everywhere in code base.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1363\"\u003e#1363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust (API): support SigningConfig v0.2, remove support for v0.1. The new format now fully defines the\nsigstore instance the client uses. \u003ccode\u003eSigningConfig\u003c/code\u003e class now has methods to return actual clients\n(like RekorClient) instead of just URLs for that sigstore instance. The \u003ccode\u003e--trust-config\u003c/code\u003e cli option now\nexpects the trust config to contain a v0.2 SigningConfig.\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1358\"\u003e#1358\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1407\"\u003e#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrust: Support ed25519 keys in trusted root\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1377\"\u003e#1377\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erekor: resolve circular import of LogEntry\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1458\"\u003e#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix checkpoint signature lookup when there are multiple signatures\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1514\"\u003e#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erekor: Fix entry handling so inclusion promise is optional\n\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/pull/1382\"\u003e#1382\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/sigstore/sigstore-python/commit/7a9551fe2efd45eb12cb873cfb8857427e33eb5a\"\u003e\u003ccode\u003e7a9551f\u003c/code\u003e\u003c/a\u003e Prepare 4.0.0 release (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/83feb3d934570174cb7b56bdbfa10d214b3f66f5\"\u003e\u003ccode\u003e83feb3d\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.2.0 to 25.3.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/3b5632f642a86272faf6121b8ba4d180bbdd99d3\"\u003e\u003ccode\u003e3b5632f\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 45.0.7 to 46.0.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/365af7bcb3668cc0aa4dd3b07b1f3234beffa1ed\"\u003e\u003ccode\u003e365af7b\u003c/code\u003e\u003c/a\u003e build(deps): bump pyopenssl from 25.1.0 to 25.2.0 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/5fac47707fe60329b2860fe85bf73d2ebffdb5c6\"\u003e\u003ccode\u003e5fac477\u003c/code\u003e\u003c/a\u003e build(deps): update ruff requirement from \u0026lt;0.12.13 to \u0026lt;0.13.1 (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/2265c11592522514bc7989abebd1d09ecc4ba5b7\"\u003e\u003ccode\u003e2265c11\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/ce00166ceab2a1d7dac513eb63c5d5c95f6c9dc4\"\u003e\u003ccode\u003ece00166\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/6f7d34fae06bdbd7e06929fcc715a7a0c9ca5702\"\u003e\u003ccode\u003e6f7d34f\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/1630428e9d0120247f1f31e1e36a58c92800f24c\"\u003e\u003ccode\u003e1630428\u003c/code\u003e\u003c/a\u003e feat(models): expose TrustedRoot, SigningConfig, ClientTrustConfig (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sigstore/sigstore-python/commit/f3af0ddf3e1f5203b1c47c4e26a54dce4fac0735\"\u003e\u003ccode\u003ef3af0dd\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/sigstore/sigstore-python/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sigstore/sigstore-python/compare/v3.6.5...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-kms` from 3.5.1 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-kms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-kms: v3.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PublicKeyFormat enums XWING_RAW_BYTES (used for KEM_XWING) and DER (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport KEY_ENCAPSULATION purpose and quantum-safe algorithms ML_KEM_768, ML_KEM_1024 and KEM_XWING (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/186cef27be0e3b6669ed86d7ce064b90bfd545dc\"\u003e186cef2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.5.0...google-cloud-documentai-v3.6.0\"\u003e3.6.0\u003c/a\u003e (2025-08-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded config options for derived fields and signature detection. Some annotation changes changes to mark fields explicitly output only (no changes in semantics just readability) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.Processor\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ecreate_time\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edeprecation_info\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003edocument_schema\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003ekms_key_version_name\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003elatest_evaluation\u003c/code\u003e in message \u003ccode\u003e.google.cloud.documentai.v1.ProcessorVersion\u003c/code\u003e  is changed to describe as output only. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6d0eeb7e4ae05a8ce9b2849eb9caf554b6e449c4\"\u003e6d0eeb7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.4.0...google-cloud-documentai-v3.5.0\"\u003e3.5.0\u003c/a\u003e (2025-04-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e [google-cloud-documentai] Added config options to enable table annotation and image extraction (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13847\"\u003e#13847\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/cd64ac0e4653abd812e190343499e7fb95473fe9\"\u003ecd64ac0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Add image block and blob asset in Document proto (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev1beta3:\u003c/strong\u003e Added config options to enable image annotation (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3c829a0e14848fd084ceb1fcdaf5c5336e261df8\"\u003e3c829a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.3.0...google-cloud-documentai-v3.4.0\"\u003e3.4.0\u003c/a\u003e (2025-04-23)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added a field for enabling returning images and bounding boxes from layout parser processor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13822\"\u003e#13822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/77e38cd3499f8ea66e5aa9703a56bd8be9b9836d\"\u003e77e38cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.1...google-cloud-documentai-v3.3.0\"\u003e3.3.0\u003c/a\u003e (2025-03-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[google-cloud-documentai] Added config options to enable LLM (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded config options to enable LLM layout parsing (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13680\"\u003e#13680\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ee05aca642a1e86e8ae05e19a4f2f84fdbbab7d8\"\u003eee05aca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-documentai-v3.2.0...google-cloud-documentai-v3.2.1\"\u003e3.2.1\u003c/a\u003e (2025-03-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Many APIs] Allow Protobuf 6.x (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/feb53532240bb70a94b359b519f0f41f95875a33\"\u003efeb5353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/13659\"\u003e#13659\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/59bfd42cf8a2eaeed696a7504890bce5aae815ce\"\u003e59bfd42\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5e2ba929d44fefe28a3376a74344d314ea8c3f99\"\u003e\u003ccode\u003e5e2ba92\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14505\"\u003e#14505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ac6a7213bd0fee9291ae0ab8aa0009cc334b0156\"\u003e\u003ccode\u003eac6a721\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-texttospeech] add Gemini TTS Multispeaker API fields (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14\"\u003e#14\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6842396f3662264aa1beca9a5a08f9d0f171483a\"\u003e\u003ccode\u003e6842396\u003c/code\u003e\u003c/a\u003e docs: [google-cloud-cloudsecuritycompliance] updated documentation for APIs (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/94387fbab5eb311da34cebfbd6f5f599f8078a18\"\u003e\u003ccode\u003e94387fb\u003c/code\u003e\u003c/a\u003e feat: [google-cloud-dataplex] A new service \u003ccode\u003eBusinessGlossaryService\u003c/code\u003e is adde...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/709f283915c348c549ddba1b56a133c192e6caae\"\u003e\u003ccode\u003e709f283\u003c/code\u003e\u003c/a\u003e chore: add link to PyPI history in CHANGELOG.md (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14506\"\u003e#14506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/26730096e491346f02af2a82138224a110485e74\"\u003e\u003ccode\u003e2673009\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20250919T072957Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14501\"\u003e#14501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/db0680bd38e8707d5eb974b1b820cf9219a61463\"\u003e\u003ccode\u003edb0680b\u003c/code\u003e\u003c/a\u003e chore: remove obsolete scripts (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14444\"\u003e#14444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/8be8e45fe4b0e1e0885b870a4d8dd9793a9a5cd4\"\u003e\u003ccode\u003e8be8e45\u003c/code\u003e\u003c/a\u003e chore: remove testing/.gitignore (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14445\"\u003e#14445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5877dca12c8c5171e924bd1a30263b04b9ecbc3b\"\u003e\u003ccode\u003e5877dca\u003c/code\u003e\u003c/a\u003e chore: remove redundant files (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14446\"\u003e#14446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f9fc5fccd48d87af3edb9668e5e962d097457d58\"\u003e\u003ccode\u003ef9fc5fc\u003c/code\u003e\u003c/a\u003e fix!: Moved Company enums to a separate file (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14455\"\u003e#14455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-kms-v3.5.1...google-cloud-kms-v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.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/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\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.5 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.5...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.18.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash on recursive alias (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19845\"\u003e19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional guidance for stubtest errors when runtime is \u003ccode\u003eobject.__init__\u003c/code\u003e (Stephen Morton, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19733\"\u003e19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of None values in f-string expressions in mypyc (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19846\"\u003e19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003eAnthony Sottile\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDaniel Hnyk\u003c/li\u003e\n\u003cli\u003eEmily\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJahongir Qurbonov\u003c/li\u003e\n\u003cli\u003eJelle Zijlstra\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eOmer Hadari\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003ePrinceNaroliya\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eRobsdedude\u003c/li\u003e\n\u003cli\u003eSaul Shanabrook\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.17\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.17 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features and bug fixes.\nYou can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/df05f05555ee62dbdb9960c64cad186172e92be1\"\u003e\u003ccode\u003edf05f05\u003c/code\u003e\u003c/a\u003e remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/01a7a1285d03cb7a330359b22cb462aacb5f9720\"\u003e\u003ccode\u003e01a7a12\u003c/code\u003e\u003c/a\u003e Update changelog for 1.18.2 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19873\"\u003e#19873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ca5abf09f3bfc543ac9c18a364696bc5da20bc03\"\u003e\u003ccode\u003eca5abf0\u003c/code\u003e\u003c/a\u003e Typeshed cherry-pick: Make type of \u003ccode\u003eunitest.mock.Any\u003c/code\u003e a subclass of \u003ccode\u003eAny\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d794b57d9c5b03d61caa3286756c05e0ae3021b\"\u003e\u003ccode\u003e9d794b5\u003c/code\u003e\u003c/a\u003e [mypyc] fix: inappropriate \u003ccode\u003eNone\u003c/code\u003es in f-strings (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2c0510c84868b6bb42ef0f305b701e530a85c25f\"\u003e\u003ccode\u003e2c0510c\u003c/code\u003e\u003c/a\u003e stubtest: additional guidance on errors when runtime is object.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19733\"\u003e#19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2f3f03c3e39e68dbfa3544c01a34f99803b3e1c2\"\u003e\u003ccode\u003e2f3f03c\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2+dev for point release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/76698412bc1f3ca99000d52649acd5a0e06aa71d\"\u003e\u003ccode\u003e7669841\u003c/code\u003e\u003c/a\u003e Fix crash on recursive alias in indirection.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19845\"\u003e#19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.2\"\u003ecompare vi...\n\n_Description has been truncated_","html_url":"https://github.com/MVrachev/repository-service-tuf-worker/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MVrachev%2Frepository-service-tuf-worker/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}}]}