{"id":1023,"name":"pyinstaller","ecosystem":"pip","repository_url":"https://github.com/pyinstaller/pyinstaller","issues_count":885,"created_at":"2025-06-06T15:01:39.814Z","updated_at":"2025-06-06T15:01:39.814Z","purl":"pkg:pypi/pyinstaller","metadata":{"id":2873804,"name":"pyinstaller","ecosystem":"pypi","description":"PyInstaller bundles a Python application and all its dependencies into a single package.","homepage":"https://www.pyinstaller.org/","licenses":"GPLv2-or-later with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones)","normalized_licenses":["GPL-2.0-with-classpath-exception","CC-BY-NC-2.5"],"repository_url":"https://github.com/pyinstaller/pyinstaller","keywords_array":["packaging","app","apps","bundle","convert","standalone","executable","pyinstaller","cxfreeze","freeze","py2exe","py2app","bbfreeze"],"namespace":null,"versions_count":63,"first_release_published_at":"2012-09-28T06:09:41.000Z","latest_release_published_at":"2025-06-03T20:08:45.000Z","latest_release_number":"6.14.0","last_synced_at":"2025-06-06T09:01:20.341Z","created_at":"2022-04-10T12:13:59.120Z","updated_at":"2025-06-06T09:01:20.343Z","registry_url":"https://pypi.org/project/pyinstaller/","install_command":"pip install pyinstaller --index-url https://pypi.org/simple","documentation_url":"https://pyinstaller.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 6 - Mature","Environment :: Console","Intended Audience :: Developers","Intended Audience :: Other Audience","Intended Audience :: System Administrators","License :: OSI Approved :: GNU General Public License v2 (GPLv2)","Natural Language :: English","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft :: Windows","Operating System :: POSIX","Operating System :: POSIX :: AIX","Operating System :: POSIX :: BSD","Operating System :: POSIX :: Linux","Operating System :: POSIX :: SunOS/Solaris","Programming Language :: C","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Topic :: Software Development","Topic :: Software Development :: Build Tools","Topic :: Software Development :: Interpreters","Topic :: Software Development :: Libraries :: Python Modules","Topic :: System :: Installation/Setup","Topic :: System :: Software Distribution","Topic :: Utilities"],"normalized_name":"pyinstaller"},"repo_metadata":{"id":1907885,"uuid":"2835111","full_name":"pyinstaller/pyinstaller","owner":"pyinstaller","description":"Freeze (package) Python programs into stand-alone executables","archived":false,"fork":false,"pushed_at":"2024-09-01T17:02:18.000Z","size":65058,"stargazers_count":11690,"open_issues_count":279,"forks_count":1938,"subscribers_count":230,"default_branch":"develop","last_synced_at":"2024-09-07T03:27:43.539Z","etag":null,"topics":["bundle","package","py2app","py2exe","pyinstaller","python","python-3","python-to-exe"],"latest_commit_sha":null,"homepage":"http://www.pyinstaller.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyinstaller.png","metadata":{"files":{"readme":"README.rst","changelog":"news/.gitignore","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Legorooj"}},"created_at":"2011-11-23T11:05:56.000Z","updated_at":"2024-09-06T20:30:32.000Z","dependencies_parsed_at":"2023-07-06T18:33:25.271Z","dependency_job_id":"5a07ca89-e573-42d0-a824-36de78bdfb89","html_url":"https://github.com/pyinstaller/pyinstaller","commit_stats":null,"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyinstaller","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":218106748,"owners_count":16278728,"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":"pyinstaller","name":"PyInstaller","uuid":"1215332","kind":"organization","description":"Converts (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, AIX and Solaris.","email":null,"website":"https://pyinstaller.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1215332?v=4","repositories_count":7,"last_synced_at":"2024-03-26T05:02:20.334Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyinstaller","funding_links":[],"total_stars":11294,"followers":113,"following":0,"created_at":"2022-11-03T05:38:09.434Z","updated_at":"2024-03-26T05:02:20.493Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyinstaller","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyinstaller/repositories"},"tags":[{"name":"v6.10.0","sha":"085296f616a4b7eff4614710f9527b164c463c21","kind":"commit","published_at":"2024-08-10T16:37:19.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.10.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.10.0/manifests"},{"name":"v6.9.0","sha":"c7ee9de026c2ed2bf34fc5857347b903baf284c2","kind":"commit","published_at":"2024-07-06T12:06:41.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.9.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.9.0/manifests"},{"name":"v6.8.0","sha":"df1507f9c423eaf6794eee6723d6d09b86da1f3e","kind":"commit","published_at":"2024-06-08T12:11:02.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.8.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.8.0/manifests"},{"name":"v6.7.0","sha":"48336c0d18bf26390980cac5d1bd2e126339a9f4","kind":"commit","published_at":"2024-05-21T22:44:44.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.7.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.7.0/manifests"},{"name":"v6.6.0","sha":"5d7a0449ecea400eccbbb30d5fcef27d72f8f75d","kind":"commit","published_at":"2024-04-13T09:55:31.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.6.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.6.0/manifests"},{"name":"v6.5.0","sha":"5c8de5b1d389a6ee88f6f2b9d865be42bde3cfc0","kind":"commit","published_at":"2024-03-09T20:29:01.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.5.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.5.0/manifests"},{"name":"v6.4.0","sha":"90256f93ed943daf6de53c7dd39710a415f705cb","kind":"commit","published_at":"2024-02-10T13:47:22.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.4.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.4.0/manifests"},{"name":"v6.3.0","sha":"f563dce1e83fd5ec72a20dffd2ac24be3e647150","kind":"commit","published_at":"2023-12-10T23:43:38.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.3.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.3.0/manifests"},{"name":"v6.2.0","sha":"90c9ac4231640bb90be6a87514c77e2bf55b39b0","kind":"commit","published_at":"2023-11-11T16:51:59.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.2.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.2.0/manifests"},{"name":"v6.1.0","sha":"362ff1b9090748839b1d19f50c78abc79c1039b0","kind":"commit","published_at":"2023-10-13T21:21:45.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.1.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.1.0/manifests"},{"name":"v6.0.0","sha":"7001defa6f8cbbd23d880e609693ae62452d1b34","kind":"commit","published_at":"2023-09-22T23:30:03.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v6.0.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v6.0.0/manifests"},{"name":"v5.13.2","sha":"d1b6b520a017578a19e1cb9514752a4517755ee0","kind":"commit","published_at":"2023-08-29T22:19:54.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.13.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.2/manifests"},{"name":"v5.13.1","sha":"bc49d00b6f246d793e01bfa7a99a66e3d3fcfa73","kind":"commit","published_at":"2023-08-26T15:26:28.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.13.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.1/manifests"},{"name":"v5.13.0","sha":"58b8235b0ecd474f71c56e119d2889bf09026cb4","kind":"commit","published_at":"2023-06-24T23:22:19.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.13.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.13.0/manifests"},{"name":"v5.12.0","sha":"d44373a8ba07fc8719dad6de0ad834b8012578ad","kind":"commit","published_at":"2023-06-08T11:52:53.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.12.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.12.0/manifests"},{"name":"v5.11.0","sha":"413cce49ff28d87fad4472f4953489226ec90c84","kind":"commit","published_at":"2023-05-13T12:01:28.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.11.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.11.0/manifests"},{"name":"v5.10.1","sha":"5c9f3e65affd43faa087da3ef6ddea6fa5947f98","kind":"commit","published_at":"2023-04-14T22:06:40.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.10.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.10.1/manifests"},{"name":"v5.10.0","sha":"625b513f0cf8624a4e5a9c3a9e1b4b76c04bf083","kind":"commit","published_at":"2023-04-11T21:24:56.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.10.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.10.0/manifests"},{"name":"v5.9.0","sha":"77022483b440448c62efd264ab5c5d5dd26b2e03","kind":"commit","published_at":"2023-03-13T20:38:36.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.9.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.9.0/manifests"},{"name":"v5.8.0","sha":"4222dc4d623633df713e69b03df66ec10a27df93","kind":"commit","published_at":"2023-02-11T17:24:31.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.8.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.8.0/manifests"},{"name":"v5.7.0","sha":"b8ba192e05705b217c8e2a217d51252dfb0b87c9","kind":"commit","published_at":"2022-12-04T14:52:25.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.7.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.7.0/manifests"},{"name":"v5.6.2","sha":"09b8a1ebd0a62c4e61de61cd33c739c997249a89","kind":"commit","published_at":"2022-10-31T17:45:24.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.6.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6.2/manifests"},{"name":"v5.6.1","sha":"780c08d7f1827b37bfc94751a411d71451e04a35","kind":"commit","published_at":"2022-10-25T14:44:23.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.6.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6.1/manifests"},{"name":"v5.6","sha":"acc4f4dc36358e1466d95b8134aefb2709452f6f","kind":"commit","published_at":"2022-10-24T21:15:34.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.6","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.6/manifests"},{"name":"v5.5","sha":"df7e2fe41f19370e5670d5caffb159a120bb34fa","kind":"commit","published_at":"2022-10-08T19:06:05.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.5","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.5/manifests"},{"name":"v5.4.1","sha":"36aa18acf2a04a4f28e45f9e805480f0df0c577a","kind":"commit","published_at":"2022-09-11T10:32:55.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.4.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.4.1/manifests"},{"name":"v5.4","sha":"c44a0d4356b89d41ad142e1d59f3459650e5678a","kind":"commit","published_at":"2022-09-10T12:31:05.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.4","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.4/manifests"},{"name":"v5.3","sha":"fbf7948be85177dd44b41217e9f039e1d176de6b","kind":"commit","published_at":"2022-07-30T19:57:51.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.3","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.3/manifests"},{"name":"v5.2","sha":"c7040cb6505bf36bc17aaab897f9224181aec1ec","kind":"commit","published_at":"2022-07-08T22:19:51.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.2/manifests"},{"name":"v5.1","sha":"4b9fd01d7dc5a0aae3ba7c100437547915464f0e","kind":"commit","published_at":"2022-05-17T18:29:29.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.1/manifests"},{"name":"v5.0.1","sha":"0de9d6cf1701689c53161610acdab143a76d40b5","kind":"commit","published_at":"2022-04-25T19:31:14.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.0.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.0.1/manifests"},{"name":"v5.0","sha":"54eb11753e71d592da8b92b9d1796764727b1a68","kind":"commit","published_at":"2022-04-17T10:37:59.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v5.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v5.0/manifests"},{"name":"v4.10","sha":"669313ba4c5c1403ebeb335c35cb68c8c6ba5dd4","kind":"commit","published_at":"2022-03-05T13:53:39.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.10","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.10/manifests"},{"name":"v4.9","sha":"d006b364cfabd1ac23f57c28b92d385331987edf","kind":"commit","published_at":"2022-02-03T21:31:43.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.9","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.9/manifests"},{"name":"v4.8","sha":"fcff15e6e7ab6fad135c584c2b6cc5e0f7809319","kind":"commit","published_at":"2022-01-07T22:29:32.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.8","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.8/manifests"},{"name":"v4.7","sha":"41842f5ad31dd33d7ba4ae03daace2287c80dcb7","kind":"commit","published_at":"2021-11-10T11:17:53.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.7","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.7/manifests"},{"name":"v4.6","sha":"6eae2c7cf93a968ddc054339e0cb3063f90d0e64","kind":"commit","published_at":"2021-10-29T11:24:09.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.6","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.6/manifests"},{"name":"v4.5.1","sha":"5a02f55c696f16b98f23a8b487f3daa8f644a8d2","kind":"commit","published_at":"2021-08-06T08:17:20.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.5.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.5.1/manifests"},{"name":"v4.5","sha":"bcb824c1ad2989855a5fc01d95e5fc693b2f0966","kind":"commit","published_at":"2021-08-01T11:13:57.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.5","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.5/manifests"},{"name":"v4.4","sha":"90431c010a23b1c9080fcb44f932d4615bb71825","kind":"commit","published_at":"2021-07-13T10:45:28.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.4","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.4/manifests"},{"name":"v4.3","sha":"e20e74c03768d432d48665b8ef1e02511b16e4be","kind":"commit","published_at":"2021-04-17T04:05:41.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.3","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.3/manifests"},{"name":"v4.2","sha":"40c9abce2d8de879e414fd377c933dccaab1e156","kind":"tag","published_at":"2021-01-13T13:09:06.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.2/manifests"},{"name":"v4.1","sha":"f9eeaaf9c09ce72cab20165a21dd454be2178c50","kind":"tag","published_at":"2020-11-18T13:16:27.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.1/manifests"},{"name":"v4.0","sha":"19fb799a11d2d796fc8758808f873c40e2bf5118","kind":"tag","published_at":"2020-08-09T11:36:56.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v4.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v4.0/manifests"},{"name":"v3.6","sha":"6d4cce1f8eb80c0bf49d35876d28daa55a05800f","kind":"tag","published_at":"2020-01-09T18:05:32.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.6","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.6/manifests"},{"name":"v3.5","sha":"498e6ee058915e5eb5f170f7a17f918c1f4d4cce","kind":"tag","published_at":"2019-07-09T19:13:58.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.5","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.5/manifests"},{"name":"v3.4","sha":"0f31b35fe96de59e1a6faf692340a9ef93492472","kind":"tag","published_at":"2018-09-09T18:12:00.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.4","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.4/manifests"},{"name":"v3.3.1","sha":"8ea39be13dd1186bd93b035d32d65b45394350ed","kind":"tag","published_at":"2017-12-15T17:54:11.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.3.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.3.1/manifests"},{"name":"v3.3","sha":"4e8e0ff7a5dbf1370f57f734bcbd37f6157ce532","kind":"tag","published_at":"2017-09-21T17:32:09.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.3","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.3/manifests"},{"name":"v3.2.1","sha":"5b84a8da71048fc888bc4240d653034394a76d32","kind":"tag","published_at":"2017-01-15T20:04:58.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.2.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.2.1/manifests"},{"name":"v3.2","sha":"e98b70e768492274db993db6045aaa53c93d4501","kind":"tag","published_at":"2016-05-03T18:31:32.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.2/manifests"},{"name":"v3.1.1","sha":"4529aa27636f4c59c495108d2da06e0ca79097fe","kind":"tag","published_at":"2016-01-31T20:22:10.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.1.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.1.1/manifests"},{"name":"v3.1","sha":"ccc5a9fd212d573a5ee13bd2a542f733b761031d","kind":"tag","published_at":"2016-01-09T19:49:08.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v3.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v3.1/manifests"},{"name":"3.0","sha":"26c6f51348ced7225996a2144c7fd725310b84a5","kind":"tag","published_at":"2015-10-04T14:59:05.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0/manifests"},{"name":"3.0.dev8","sha":"9f76008734d708a2070e5469bd4c9a84e36b8600","kind":"tag","published_at":"2015-10-02T22:20:31.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0.dev8","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0.dev8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev8/manifests"},{"name":"3.0.dev7","sha":"dc1cb4cbfd402c8d2bfd153346a9188c79650413","kind":"tag","published_at":"2015-10-01T11:08:35.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0.dev7","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0.dev7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev7/manifests"},{"name":"3.0.dev6","sha":"e2ad398556f0d7bec5bb5d266a0a558a46e116a5","kind":"tag","published_at":"2015-09-29T16:39:33.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0.dev6","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0.dev6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev6/manifests"},{"name":"3.0.dev2","sha":"a5cd4b748d5bd831ff1869bcf55133b125f156eb","kind":"tag","published_at":"2015-09-18T09:24:29.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0.dev2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev2/manifests"},{"name":"3.0.dev1","sha":"472d10eae9ad407badcbb43ec28ba19b76630dd1","kind":"tag","published_at":"2015-09-18T07:29:33.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/3.0.dev1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/3.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/3.0.dev1/manifests"},{"name":"v2.1","sha":"39b02fe5e7563431115f9812f757a21bbcc78837","kind":"tag","published_at":"2013-09-27T19:47:43.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v2.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v2.1/manifests"},{"name":"v2.0","sha":"a21f0660eddff0c33b3a24fea8ddeba13da9bf61","kind":"commit","published_at":"2012-08-08T18:31:35.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v2.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v2.0/manifests"},{"name":"v1.5.1","sha":"d3398dd79b68901ae1edd761f3fe0f4ff19cfb1a","kind":"tag","published_at":"2011-08-01T09:41:36.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.5.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5.1/manifests"},{"name":"v1.5.1-rc1","sha":"d3398dd79b68901ae1edd761f3fe0f4ff19cfb1a","kind":"tag","published_at":"2011-07-28T20:39:17.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.5.1-rc1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.5.1-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5.1-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5.1-rc1/manifests"},{"name":"v1.5","sha":"e86005a85d3e8643a7cf943b27093829f2b6e1e9","kind":"tag","published_at":"2011-05-05T10:41:12.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.5","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5/manifests"},{"name":"v1.5-rc2","sha":"a6a1a6cc220a7a9d258122749dfb2cbe6a15d62b","kind":"tag","published_at":"2011-04-27T09:27:34.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.5-rc2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.5-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5-rc2/manifests"},{"name":"v1.5-rc1","sha":"81a42bf9cf8d08e0b8519613ab4545419ac8653d","kind":"tag","published_at":"2010-11-25T17:59:44.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.5-rc1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.5-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.5-rc1/manifests"},{"name":"v1.4","sha":"c7087500b2067ca8e8330aae383b5b00ebe331a5","kind":"tag","published_at":"2010-03-21T23:28:15.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.4","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.4/manifests"},{"name":"v1.4-rc1","sha":"301ca819465f68c9c0c5af2af36797a93cb27d80","kind":"tag","published_at":"2010-03-13T16:35:21.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.4-rc1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.4-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.4-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.4-rc1/manifests"},{"name":"v1.3","sha":"92c9ab155ac51ca6607a1ddf2cd2d068da2ba4a5","kind":"tag","published_at":"2006-12-20T10:33:47.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.3","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.3/manifests"},{"name":"v1.2","sha":"6ab0decfeaa0b73703a4db0905093d0cdd00a6fa","kind":"tag","published_at":"2006-06-29T17:00:21.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.2/manifests"},{"name":"v1.1","sha":"0699cc5ee5606edcd0c566e82e3aa4e34a6f289c","kind":"tag","published_at":"2006-02-13T15:19:41.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1/manifests"},{"name":"v1.1-rc3","sha":"0699cc5ee5606edcd0c566e82e3aa4e34a6f289c","kind":"tag","published_at":"2006-02-09T18:49:45.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.1-rc3","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.1-rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc3/manifests"},{"name":"v1.1-rc2","sha":"10b5a718f42ed09710e41431fd77dcd3ed376010","kind":"tag","published_at":"2006-02-06T19:02:14.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.1-rc2","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.1-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc2/manifests"},{"name":"v1.1-rc1","sha":"f0cf6b568d61656db8f730f5510f573291dcf376","kind":"tag","published_at":"2006-02-06T14:45:48.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.1-rc1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.1-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.1-rc1/manifests"},{"name":"v1.0","sha":"433cc17d1fc581ed43d8f92173e63661bcf31426","kind":"tag","published_at":"2005-09-19T14:35:31.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.0","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.0/manifests"},{"name":"v1.0-rc1","sha":"f83ab26298a0c6ef3338d3edb909cfae268259fa","kind":"tag","published_at":"2005-09-16T23:52:44.000Z","download_url":"https://codeload.github.com/pyinstaller/pyinstaller/tar.gz/v1.0-rc1","html_url":"https://github.com/pyinstaller/pyinstaller/releases/tag/v1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyinstaller%2Fpyinstaller/tags/v1.0-rc1/manifests"}]},"repo_metadata_updated_at":"2024-09-08T06:58:51.344Z","dependent_packages_count":331,"downloads":3533188,"downloads_period":"last-month","dependent_repos_count":7678,"rankings":{"downloads":0.24743090110972565,"dependent_repos_count":0.10749367741733737,"dependent_packages_count":0.0998713984731989,"stargazers_count":0.1770714031638321,"forks_count":0.3451524260345778,"docker_downloads_count":0.03263898932490062,"average":0.16827646592059542},"purl":"pkg:pypi/pyinstaller","advisories":[{"uuid":"GSA_kwCzR0hTQS05dzJwLXJoOGMtdjlnNc4AA3pj","url":"https://github.com/advisories/GHSA-9w2p-rh8c-v9g5","title":"Local Privilege Escalation in Windows","description":"### Impact\n\nA PyInstaller built application, elevated as a privileged process, may be tricked by an unprivileged attacker into deleting files the unprivileged user does not otherwise have access to.\n\nA user is affected if **all** the following are satisfied:\n\n* The user runs an application containing either `matplotlib` or `win32com`.\n* The application is ran as administrator (or at least a user with higher privileges than the attacker).\n* The user's temporary directory is not locked to that specific user (most likely due to `TMP`/`TEMP` environment variables pointing to an unprotected, arbitrary, non default location).\n* Either:\n  - The attacker is able to very carefully time the replacement of a temporary file with a symlink. This switch must occur exactly between [`shutil.rmtree()`'s builtin symlink check](https://github.com/python/cpython/blob/0fb18b02c8ad56299d6a2910be0bab8ad601ef24/Lib/shutil.py#L623) and the deletion itself\n  - The application was built with Python 3.7.x or earlier which has no protection against Directory Junctions links\n\n### Patches\n\nThe vulnerability has been addressed in https://github.com/pyinstaller/pyinstaller/pull/7827 which corresponds to `pyinstaller \u003e= 5.13.1`\n\n### Workarounds\n_Is there a way for users to fix or remediate the vulnerability without upgrading?_\n\nNo workaround, although the attack complexity becomes much higher if the application is built with Python \u003e= 3.8.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-12-09T00:39:46.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pyinstaller/pyinstaller/security/advisories/GHSA-9w2p-rh8c-v9g5","https://nvd.nist.gov/vuln/detail/CVE-2023-49797","https://github.com/pyinstaller/pyinstaller/pull/7827","https://github.com/python/cpython/blob/0fb18b02c8ad56299d6a2910be0bab8ad601ef24/Lib/shutil.py#L623","https://github.com/pypa/advisory-database/tree/main/vulns/pyinstaller/PYSEC-2023-292.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2K2XIQLEMZIKUQUOWNDYWTEWYQTKMAN7","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ISRWT34FAF23PUOLVZ7RVWBZMWPDR5U7","https://github.com/advisories/GHSA-9w2p-rh8c-v9g5"],"source_kind":"github","identifiers":["GHSA-9w2p-rh8c-v9g5","CVE-2023-49797"],"repository_url":"https://github.com/pyinstaller/pyinstaller","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"5.13.1","vulnerable_version_range":"\u003c 5.13.1"}],"ecosystem":"pypi","package_name":"pyinstaller"}],"created_at":"2023-12-09T01:05:03.948Z","updated_at":"2025-04-30T01:10:13.780Z","epss_percentage":0.00077,"epss_percentile":0.23901}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pyinstaller","docker_dependents_count":163,"docker_downloads_count":1677892089,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pyinstaller","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pyinstaller/dependencies","status":null,"funding_links":["https://github.com/sponsors/Legorooj"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyinstaller/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyinstaller/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyinstaller/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyinstaller/related_packages","maintainers":[{"uuid":"Legorooj","login":"Legorooj","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/Legorooj/","role":null,"created_at":"2023-02-02T13:20:53.048Z","updated_at":"2023-02-02T13:20:53.048Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Legorooj/packages"},{"uuid":"bwoodsend","login":"bwoodsend","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://pypi.org/user/bwoodsend/","role":null,"created_at":"2023-02-02T13:20:53.101Z","updated_at":"2023-02-02T13:20:53.101Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/bwoodsend/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690322,"maintainers_count":292759,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":365,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4567527882","node_id":"PR_kwDOR20b4M7hlleB","number":17,"state":"open","title":"build(deps): bump the python-minor group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T01:13:36.000Z","updated_at":"2026-06-02T01:13:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-minor","update_count":12,"packages":[{"name":"fastapi","old_version":"0.115.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.30.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.30","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"pydantic","old_version":"2.9.0","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"httpx","old_version":"0.27.0","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"markitdown","old_version":"0.1.5","new_version":"0.1.6","repository_url":"https://github.com/microsoft/markitdown"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"jinja2","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"pyinstaller","old_version":"6.11.1","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.115.0` | `0.136.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.30.0` | `0.48.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.9` | `0.0.30` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.9.0` | `2.13.4` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.2` |\n| [httpx](https://github.com/encode/httpx) | `0.27.0` | `0.28.1` |\n| [markitdown](https://github.com/microsoft/markitdown) | `0.1.5` | `0.1.6` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.4` | `3.1.6` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.11.1` | `6.20.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n\n\nUpdates `fastapi` from 0.115.0 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.0...0.136.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.30.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.46.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_max_size\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2915\"\u003eKludex/uvicorn#2915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_ping_interval\u003c/code\u003e and \u003ccode\u003ews_ping_timeout\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2916\"\u003eKludex/uvicorn#2916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for incoming WebSocket message buffer in websockets-sansio by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2917\"\u003eKludex/uvicorn#2917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve forwarded client ports in proxy headers middleware by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2903\"\u003eKludex/uvicorn#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003eos.PathLike\u003c/code\u003e for \u003ccode\u003elog_config\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2905\"\u003eKludex/uvicorn#2905\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003elog_level\u003c/code\u003e strings case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2907\"\u003eKludex/uvicorn#2907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise helpful \u003ccode\u003eImportError\u003c/code\u003e when PyYAML is missing for YAML log config by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2906\"\u003eKludex/uvicorn#2906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert empty context for ASGI runs by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2911\"\u003eKludex/uvicorn#2911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--reset-contextvars\u003c/code\u003e flag to isolate ASGI request context by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2912\"\u003eKludex/uvicorn#2912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e on server shutdown for streaming responses\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e) by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2913\"\u003eKludex/uvicorn#2913\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/Krishnachaitanyakc\"\u003e\u003ccode\u003e@​Krishnachaitanyakc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2870\"\u003eKludex/uvicorn#2870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.44.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement websocket keepalive pings for websockets-sansio by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2888\"\u003eKludex/uvicorn#2888\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.46.0 (April 23, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_max_size\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_ping_interval\u003c/code\u003e and \u003ccode\u003ews_ping_timeout\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for incoming WebSocket message buffer in \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2917\"\u003e#2917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.45.0 (April 21, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--reset-contextvars\u003c/code\u003e flag to isolate ASGI request context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003eos.PathLike\u003c/code\u003e for \u003ccode\u003elog_config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2905\"\u003e#2905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003elog_level\u003c/code\u003e strings case-insensitively (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e on server shutdown for streaming responses\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2913\"\u003e#2913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Explicitly start ASGI run with empty context\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2911\"\u003e#2911\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\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/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.30.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.9 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.30\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003eKludex/python-multipart#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003eKludex/python-multipart#291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.27\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass parse offsets via constructors by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/268\"\u003eKludex/python-multipart#268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd multipart header limits by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/267\"\u003eKludex/python-multipart#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.26\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip preamble before first multipart boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/262\"\u003eKludex/python-multipart#262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSilently discard epilogue data after the closing boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/259\"\u003eKludex/python-multipart#259\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.25\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply Apache-2.0 properly by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/247\"\u003eKludex/python-multipart#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle multipart headers case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/252\"\u003eKludex/python-multipart#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efield_end\u003c/code\u003e for trailing bare field names on finalize by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/230\"\u003eKludex/python-multipart#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUPLOAD_DELETE_TMP\u003c/code\u003e to \u003ccode\u003eFormParser\u003c/code\u003e config by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/254\"\u003eKludex/python-multipart#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove custom FormParser classes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/257\"\u003eKludex/python-multipart#257\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle CTE values case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/258\"\u003eKludex/python-multipart#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MIME content type info to File by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/143\"\u003eKludex/python-multipart#143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.24\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/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eapplication/x-www-form-urlencoded\u003c/code\u003e bodies per the WHATWG URL standard, treating only \u003ccode\u003e\u0026amp;\u003c/code\u003e as a field separator \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003e#290\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231/5987 extended parameters (\u003ccode\u003ename*\u003c/code\u003e, \u003ccode\u003efilename*\u003c/code\u003e) in \u003ccode\u003eparse_options_header\u003c/code\u003e, keeping the plain parameter authoritative per \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7578#section-4.2\"\u003eRFC 7578 §4.2\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.27 (2026-04-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd multipart header limits \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/267\"\u003e#267\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePass parse offsets via constructors \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/268\"\u003e#268\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.26 (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip preamble before the first multipart boundary more efficiently \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/262\"\u003e#262\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSilently discard epilogue data after the closing multipart boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/259\"\u003e#259\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.25 (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd MIME content type info to \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/143\"\u003e#143\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eHandle CTE values case-insensitively \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/258\"\u003e#258\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove custom \u003ccode\u003eFormParser\u003c/code\u003e classes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/257\"\u003e#257\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUPLOAD_DELETE_TMP\u003c/code\u003e to \u003ccode\u003eFormParser\u003c/code\u003e config \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/254\"\u003e#254\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efield_end\u003c/code\u003e for trailing bare field names on finalize \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/230\"\u003e#230\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eHandle multipart headers case-insensitively \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/252\"\u003e#252\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eApply Apache-2.0 properly \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/247\"\u003e#247\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.24 (2026-04-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eValidate \u003ccode\u003echunk_size\u003c/code\u003e in \u003ccode\u003eparse_form()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/244\"\u003e#244\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.23 (2026-04-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused \u003ccode\u003etrust_x_headers\u003c/code\u003e parameter and \u003ccode\u003eX-File-Name\u003c/code\u003e fallback \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/196\"\u003e#196\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReturn processed length from \u003ccode\u003eQuerystringParser._internal_write\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/229\"\u003e#229\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCleanup metadata dunders from \u003ccode\u003e__init__.py\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/227\"\u003e#227\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\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/Kludex/python-multipart/commit/9d3ead568a259f222cff6425262ff63e88d930d4\"\u003e\u003ccode\u003e9d3ead5\u003c/code\u003e\u003c/a\u003e Version 0.0.30 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3506c15ce99cb62faf2d5ceb3c4c1e5800cb843d\"\u003e\u003ccode\u003e3506c15\u003c/code\u003e\u003c/a\u003e Ignore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d69df35cd2cad9c72794c2c340db646afae957d8\"\u003e\u003ccode\u003ed69df35\u003c/code\u003e\u003c/a\u003e Treat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1e6ff9740b09fb439755f30e2b0e2ada1d297325\"\u003e\u003ccode\u003e1e6ff97\u003c/code\u003e\u003c/a\u003e Bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.9.0 to 2.13.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.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 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/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \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/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata 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/13129\"\u003e#13129\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.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 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/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \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/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata 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/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\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/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.9.0...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/563\"\u003e#563\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.27.0 to 0.28.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/httpx/releases\"\u003ehttpx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.28.1\u003c/h2\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.28.0\u003c/h2\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/HEAD/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.2\u003c/h2\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.1\u003c/h2\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/blob/master/CHANGELOG.md\"\u003ehttpx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eBe aware that the default \u003cem\u003eJSON request bodies now use a more compact representation\u003c/em\u003e. This is generally considered a prefered style, tho may require updates to test suites.\u003c/p\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations...\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/master/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177\"\u003e\u003ccode\u003e26d48e0\u003c/code\u003e\u003c/a\u003e Version 0.28.1 (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba\"\u003e\u003ccode\u003e89599a9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003everify=False\u003c/code\u003e, \u003ccode\u003ecert=...\u003c/code\u003e case. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3442\"\u003e#3442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d\"\u003e\u003ccode\u003e8ecb86f\u003c/code\u003e\u003c/a\u003e Add test for request params behavior changes (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3440\"\u003e#3440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/0cb7e5a2e736628e2f506d259fcf0d48cd2bde82\"\u003e\u003ccode\u003e0cb7e5a\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 11 updates (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3434\"\u003e#3434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/15e21e9ea3cad4f06e22a7e704aabefdf43d2e29\"\u003e\u003ccode\u003e15e21e9\u003c/code\u003e\u003c/a\u003e Updating deprecated docstring Client() class (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3426\"\u003e#3426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/80960fa31918d7663c3f4c3ad61661cf0e80628f\"\u003e\u003ccode\u003e80960fa\u003c/code\u003e\u003c/a\u003e Version 0.28.0. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3419\"\u003e#3419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/a33c87852b8a0dddc65e5f739af1e0a6fca4b91f\"\u003e\u003ccode\u003ea33c878\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eextensions\u003c/code\u003e type annotation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3380\"\u003e#3380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/ce7e14da27abba6574be9b3ea7cd5990556a9343\"\u003e\u003ccode\u003ece7e14d\u003c/code\u003e\u003c/a\u003e Error on verify as str. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3418\"\u003e#3418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/47f4a96ffaaaa07dca1614409549b5d7a6e7af49\"\u003e\u003ccode\u003e47f4a96\u003c/code\u003e\u003c/a\u003e Handle empty zstd responses (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3412\"\u003e#3412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/189fc4bcbe5f314128775dec66a616ac9a31ad48\"\u003e\u003ccode\u003e189fc4b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md, fix typo(s) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3406\"\u003e#3406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/httpx/compare/0.27.0...0.28.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markitdown` from 0.1.5 to 0.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/markitdown/releases\"\u003emarkitdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.1.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[MS] Add OCR layer service for embedded images and PDF scans by \u003ca href=\"https://github.com/lesyk\"\u003e\u003ccode\u003e@​lesyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1541\"\u003emicrosoft/markitdown#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix O(n) memory growth in PDF conversion by calling page.close() afte… by \u003ca href=\"https://github.com/lesyk\"\u003e\u003ccode\u003e@​lesyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1612\"\u003emicrosoft/markitdown#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated warning about binding to non-local interfaces. by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1653\"\u003emicrosoft/markitdown#1653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle deeply nested HTML that triggers RecursionError by \u003ca href=\"https://github.com/jigangz\"\u003e\u003ccode\u003e@​jigangz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1644\"\u003emicrosoft/markitdown#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify security posture in READMEs by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1807\"\u003emicrosoft/markitdown#1807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add Azure Content Understanding converter by \u003ca href=\"https://github.com/chienyuanchang\"\u003e\u003ccode\u003e@​chienyuanchang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1865\"\u003emicrosoft/markitdown#1865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.1.6 by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1914\"\u003emicrosoft/markitdown#1914\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/jigangz\"\u003e\u003ccode\u003e@​jigangz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1644\"\u003emicrosoft/markitdown#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chienyuanchang\"\u003e\u003ccode\u003e@​chienyuanchang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1865\"\u003emicrosoft/markitdown#1865\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/microsoft/markitdown/compare/v0.1.5...v0.1.6\"\u003ehttps://github.com/microsoft/markitdown/compare/v0.1.5...v0.1.6\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/microsoft/markitdown/commit/e144e0a2be95b34df17433bac904e635f2c5e551\"\u003e\u003ccode\u003ee144e0a\u003c/code\u003e\u003c/a\u003e Bump version to 0.1.6 (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/a01d74dda70de866c563256015fb4f036271af46\"\u003e\u003ccode\u003ea01d74d\u003c/code\u003e\u003c/a\u003e feat: Add Azure Content Understanding converter (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1865\"\u003e#1865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/a51f725d7ff4cdfe3bb6ad2ce2c04d98bf5f1f00\"\u003e\u003ccode\u003ea51f725\u003c/code\u003e\u003c/a\u003e Clarify security posture in READMEs (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1807\"\u003e#1807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/604bba13da2f43b756b49122cb65bdedb85b1dff\"\u003e\u003ccode\u003e604bba1\u003c/code\u003e\u003c/a\u003e fix: handle deeply nested HTML that triggers RecursionError (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/63cbbd9de6afa01ee3b97127e4945c...\n\n_Description has been truncated_","html_url":"https://github.com/ativubise657-boop/nastyaorchestrator/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ativubise657-boop%2Fnastyaorchestrator/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4466506172","node_id":"PR_kwDOSM5yMc7chG6O","number":170,"state":"closed","title":"chore(deps): bump the python-minor-patch group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T05:21:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T05:30:38.000Z","updated_at":"2026-05-25T05:21:27.000Z","time_to_close":604248,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":4,"packages":[{"name":"uvicorn","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pyinstaller","old_version":"6.16.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 4 updates: [uvicorn](https://github.com/Kludex/uvicorn), [python-multipart](https://github.com/Kludex/python-multipart), [ruff](https://github.com/astral-sh/ruff) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\n\nUpdates `uvicorn` from 0.46.0 to 0.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6761b2c8f9272fa0e908d0b9cdcb3cb0aa11382f\"\u003e\u003ccode\u003e6761b2c\u003c/code\u003e\u003c/a\u003e Remove Hugging Face sponsor block from docs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/438f64834de00708a9bb3548a36090e7a924ad84\"\u003e\u003ccode\u003e438f648\u003c/code\u003e\u003c/a\u003e Surface sponsors on welcome page and sidebar (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/10ddc6dd296cb6e432a00835abe27f1c822373c1\"\u003e\u003ccode\u003e10ddc6d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/b499bc45101d920e691e384025d728507215d4d1\"\u003e\u003ccode\u003eb499bc4\u003c/code\u003e\u003c/a\u003e Eagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.28 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\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/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\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.12 to 0.15.13\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.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\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/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.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\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/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2afb467ce397e4a89c13a0a814c62cfecb0e9e49\"\u003e\u003ccode\u003e2afb467\u003c/code\u003e\u003c/a\u003e Bump 0.15.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25157\"\u003e#25157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/300879600fa3af7cde1e675c63de6ad9d0797d1b\"\u003e\u003ccode\u003e3008796\u003c/code\u003e\u003c/a\u003e [ty] classify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/79470e31877acb6074f3bbff2a49e508822ae4e8\"\u003e\u003ccode\u003e79470e3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2522549901d50f18775999f0fb802b19229417f0\"\u003e\u003ccode\u003e2522549\u003c/code\u003e\u003c/a\u003e Remove shellcheck from prek (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25154\"\u003e#25154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7db7170020f539d6d2bc01dbd0b0c09fab91dc06\"\u003e\u003ccode\u003e7db7170\u003c/code\u003e\u003c/a\u003e [ty] Support TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25\"\u003e#25\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bb3dd535f1c5a83e2e56ac93a771fadbeeceebd0\"\u003e\u003ccode\u003ebb3dd53\u003c/code\u003e\u003c/a\u003e [ty] Run full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/828cdb7732efcb16a53f4ee5f011cf653b834d1a\"\u003e\u003ccode\u003e828cdb7\u003c/code\u003e\u003c/a\u003e [ty] Isolate file-watching test environment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25151\"\u003e#25151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89e1d8670ea4d3af60c8143ee552dc750200718d\"\u003e\u003ccode\u003e89e1d86\u003c/code\u003e\u003c/a\u003e [ty] Preserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/86f3064d6fffa5697d174f26b840bd6857b381da\"\u003e\u003ccode\u003e86f3064\u003c/code\u003e\u003c/a\u003e [ty] Avoid accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed819f947dc27e36eac8bb3134153c4668d76a3a\"\u003e\u003ccode\u003eed819f9\u003c/code\u003e\u003c/a\u003e [ty] Treat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25136\"\u003e#25136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.16.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\u003c/p\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.16.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/xpozer/jarvis-windows-standalone/pull/170","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpozer%2Fjarvis-windows-standalone/issues/170","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/170/packages"},{"uuid":"4462204108","node_id":"PR_kwDOSRhZws7cUMtN","number":4,"state":"closed","title":"chore(deps-dev): bump pyinstaller from 6.18.0 to 6.20.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T09:24:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-17T03:53:22.000Z","updated_at":"2026-05-23T09:24:19.000Z","time_to_close":538255,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.18.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\u003c/p\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=uv\u0026previous-version=6.18.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/libUE4/NBG-code/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/libUE4%2FNBG-code/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4419587037","node_id":"PR_kwDOB7B4V87aLwc3","number":4500,"state":"open","title":"chore(deps): bump pyinstaller from 6.19.0 to 6.20.0 in /requirements","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-11T09:19:55.000Z","updated_at":"2026-05-11T09:25:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/requirements","ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.19.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.19.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aws-cloudformation/cfn-lint/pull/4500","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcfn-lint/issues/4500","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4500/packages"},{"uuid":"4380110325","node_id":"PR_kwDORwUiN87YMMPx","number":18,"state":"closed","title":"build(deps): bump the minor-and-patch group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T01:07:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T22:32:18.000Z","updated_at":"2026-05-12T01:07:05.000Z","time_to_close":614085,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":21,"packages":[{"name":"certifi","old_version":"2026.2.25","new_version":"2026.4.22","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.3","repository_url":"https://github.com/pallets/click"},{"name":"cloudpathlib","old_version":"0.23.0","new_version":"0.24.0","repository_url":"https://github.com/drivendataorg/cloudpathlib"},{"name":"fastapi","old_version":"0.115.12","new_version":"0.136.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"idna","old_version":"3.11","new_version":"3.13","repository_url":"https://github.com/kjd/idna"},{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.9.1","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.46.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.3","new_version":"2026.4","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"respx","old_version":"0.22.0","new_version":"0.23.1","repository_url":"https://github.com/lundberg/respx"},{"name":"smart-open","old_version":"7.5.1","new_version":"7.6.0","repository_url":"https://github.com/piskvorky/smart_open"},{"name":"spacy","old_version":"3.8.13","new_version":"3.8.14","repository_url":"https://github.com/explosion/spaCy"},{"name":"typer","old_version":"0.24.1","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.34.3","new_version":"0.46.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.4.22` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.3` |\n| [cloudpathlib](https://github.com/drivendataorg/cloudpathlib) | `0.23.0` | `0.24.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.115.12` | `0.136.1` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.13` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.3` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.9.1` | `2.14.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.5` | `2.46.3` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.19.0` | `6.20.0` |\n| [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib) | `2026.3` | `2026.4` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [respx](https://github.com/lundberg/respx) | `0.22.0` | `0.23.1` |\n| [smart-open](https://github.com/piskvorky/smart_open) | `7.5.1` | `7.6.0` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.13` | `3.8.14` |\n| [typer](https://github.com/fastapi/typer) | `0.24.1` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.34.3` | `0.46.0` |\n\n\nUpdates `certifi` from 2026.2.25 to 2026.4.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\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.04.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\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/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.3\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.3\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.3 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.3/\"\u003ehttps://pypi.org/project/click/8.3.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-3\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/1026\"\u003e#1026\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/1477\"\u003e#1477\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2775\"\u003e#2775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3298\"\u003e#3298\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3299\"\u003e#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3238\"\u003e#3238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/654\"\u003e#654\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/843\"\u003e#843\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/951\"\u003e#951\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3235\"\u003e#3235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3177\"\u003e#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2836\"\u003e#2836\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2837\"\u003e#2837\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3165\"\u003e#3165\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3262\"\u003e#3262\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3280\"\u003e#3280\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3111\"\u003e#3111\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3189\"\u003e#3189\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3250\"\u003e#3250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2865\"\u003e#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2879\"\u003e#2879\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\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.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n:issue:\u003ccode\u003e1026\u003c/code\u003e :pr:\u003ccode\u003e1477\u003c/code\u003e :pr:\u003ccode\u003e2775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. :issue:\u003ccode\u003e3298\u003c/code\u003e :pr:\u003ccode\u003e3299\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. :pr:\u003ccode\u003e3238\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n:issue:\u003ccode\u003e3224\u003c/code\u003e :pr:\u003ccode\u003e3240\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n:issue:\u003ccode\u003e654\u003c/code\u003e :issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e843\u003c/code\u003e :pr:\u003ccode\u003e951\u003c/code\u003e :pr:\u003ccode\u003e3235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. :pr:\u003ccode\u003e3151\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. :pr:\u003ccode\u003e3151\u003c/code\u003e :pr:\u003ccode\u003e3177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. :issue:\u003ccode\u003e2836\u003c/code\u003e :pr:\u003ccode\u003e2837\u003c/code\u003e :pr:\u003ccode\u003e3165\u003c/code\u003e :pr:\u003ccode\u003e3262\u003c/code\u003e :pr:\u003ccode\u003e3280\u003c/code\u003e\n:pr:\u003ccode\u003e3328\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. :issue:\u003ccode\u003e3111\u003c/code\u003e :pr:\u003ccode\u003e3239\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. :issue:\u003ccode\u003e3189\u003c/code\u003e :pr:\u003ccode\u003e3250\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n:issue:\u003ccode\u003e2865\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. :issue:\u003ccode\u003e2879\u003c/code\u003e :pr:\u003ccode\u003e3248\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\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/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0\"\u003e\u003ccode\u003ec06d2d0\u003c/code\u003e\u003c/a\u003e Release 8.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c\"\u003e\u003ccode\u003ef1f191e\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3343\"\u003e#3343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081\"\u003e\u003ccode\u003ebb59ba0\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4\"\u003e\u003ccode\u003e4a35225\u003c/code\u003e\u003c/a\u003e Reduce blast-radius of \u003ccode\u003eUNSET\u003c/code\u003e in \u003ccode\u003edefault_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8\"\u003e\u003ccode\u003ec07bb93\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into unset-in-default-map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995\"\u003e\u003ccode\u003ec7e1ba8\u003c/code\u003e\u003c/a\u003e Reorder \u003ccode\u003eParameterSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda\"\u003e\u003ccode\u003e76552ff\u003c/code\u003e\u003c/a\u003e Show default string in prompt (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c\"\u003e\u003ccode\u003eac5cec5\u003c/code\u003e\u003c/a\u003e Reorder ParameterSource from most to least explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280\"\u003e\u003ccode\u003e8c452e0\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into show-default-string-in-prompt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32\"\u003e\u003ccode\u003e8c95c73\u003c/code\u003e\u003c/a\u003e Reconcile default value passing and default activation (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cloudpathlib` from 0.23.0 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drivendataorg/cloudpathlib/releases\"\u003ecloudpathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for S3 Multi-Region Access Point (MRAP) URLs in \u003ccode\u003eS3Path\u003c/code\u003e (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/556\"\u003e#556\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for Pydantic serialization (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/537\"\u003e#537\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/538\"\u003e#538\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/drivendataorg/cloudpathlib/blob/master/HISTORY.md\"\u003ecloudpathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.0 (2026-04-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for S3 Multi-Region Access Point (MRAP) URLs in \u003ccode\u003eS3Path\u003c/code\u003e (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/556\"\u003e#556\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for Pydantic serialization (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/537\"\u003e#537\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/538\"\u003e#538\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/drivendataorg/cloudpathlib/commit/1d65750d99ac320b8f46016322d6b8fe1995d90f\"\u003e\u003ccode\u003e1d65750\u003c/code\u003e\u003c/a\u003e Add support for S3 Multi-Region Access Point (MRAP) URLs (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/557\"\u003e#557\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drivendataorg/cloudpathlib/commit/5124aa0a53cfdbaeea71aaccd6e397a686196552\"\u003e\u003ccode\u003e5124aa0\u003c/code\u003e\u003c/a\u003e Reformat with black 26.1.0 (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drivendataorg/cloudpathlib/commit/1ca2eed598119743d92e23e1b8d7585b27b25faa\"\u003e\u003ccode\u003e1ca2eed\u003c/code\u003e\u003c/a\u003e Feat/pydantic serialization (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/538\"\u003e#538\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/drivendataorg/cloudpathlib/compare/v0.23.0...v0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.115.12 to 0.136.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.1\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Update Pydantic v2 code to address deprecations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15101\"\u003e#15101\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Tweak translation script. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15174\"\u003e#15174\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15408\"\u003e#15408\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump inline-snapshot from 0.31.1 to 0.32.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15409\"\u003e#15409\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest-codspeed from 4.3.0 to 4.4.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15407\"\u003e#15407\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest-cov from 7.0.0 to 7.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15406\"\u003e#15406\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15405\"\u003e#15405\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mypy from 1.19.1 to 1.20.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15410\"\u003e#15410\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump python-dotenv from 1.2.1 to 1.2.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15400\"\u003e#15400\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump starlette from 0.52.1 to 1.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15397\"\u003e#15397\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15396\"\u003e#15396\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.12.0 to 2.12.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15393\"\u003e#15393\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump zizmor from 1.23.1 to 1.24.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15394\"\u003e#15394\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump strawberry-graphql from 0.312.3 to 0.314.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15395\"\u003e#15395\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump python-multipart from 0.0.22 to 0.0.26. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15360\"\u003e#15360\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump authlib from 1.6.9 to 1.6.11. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15373\"\u003e#15373\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump aiohttp from 3.13.3 to 3.13.4. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15282\"\u003e#15282\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15263\"\u003e#15263\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20.1 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15391\"\u003e#15391\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15333\"\u003e#15333\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 9.0.2 to 9.0.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15334\"\u003e#15334\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15374\"\u003e#15374\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15385\"\u003e#15385\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Update sponsors: remove Zuplo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15369\"\u003e#15369\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Update sponsors: remove Speakeasy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15368\"\u003e#15368\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Add zizmor and fix audit findings. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15316\"\u003e#15316\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Support free-threaded Python 3.14t. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15149\"\u003e#15149\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.4\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove April Fool's \u003ccode\u003e@app.vibe()\u003c/code\u003e 🤪. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15363\"\u003e#15363\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump cryptography from 46.0.5 to 46.0.7. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15314\"\u003e#15314\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump strawberry-graphql from 0.307.1 to 0.312.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15309\"\u003e#15309\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15293\"\u003e#15293\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.3\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/fastapi/fastapi/commit/e54e5a8980ffa6d7ff68ee7b25a1c46036375521\"\u003e\u003ccode\u003ee54e5a8\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9a8a5fd99902c3b80d4cc94b85e120e2b808825f\"\u003e\u003ccode\u003e9a8a5fd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7815a32f2ed177b8b786a48b3e0712c05b5c644f\"\u003e\u003ccode\u003e7815a32\u003c/code\u003e\u003c/a\u003e ⬆️ Update Pydantic v2 code to address deprecations (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15101\"\u003e#15101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ef1c927b0558d414e199a666833942a6fabb3a51\"\u003e\u003ccode\u003eef1c927\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/38039e12a86e67f2001b9b7d96c219691d6cb4af\"\u003e\u003ccode\u003e38039e1\u003c/code\u003e\u003c/a\u003e 🔨 Tweak translation script (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15174\"\u003e#15174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4fa826ce0a3b16884a04f51e5aac95d01790b599\"\u003e\u003ccode\u003e4fa826c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c39415673e621665fdb7bbdde69beba7eb1dfd12\"\u003e\u003ccode\u003ec394156\u003c/code\u003e\u003c/a\u003e ⬆ Bump mkdocs-material from 9.7.1 to 9.7.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15408\"\u003e#15408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ae230ad2f9d90a4e3f6222ff1a5d6e8da41ec0ad\"\u003e\u003ccode\u003eae230ad\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d9eb39d1a1bf2f6e6e5d3a55088f61c712cb864e\"\u003e\u003ccode\u003ed9eb39d\u003c/code\u003e\u003c/a\u003e ⬆ Bump inline-snapshot from 0.31.1 to 0.32.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15409\"\u003e#15409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4f8b5d14d324ae8e15cfae8d85adb4186d4c2175\"\u003e\u003ccode\u003e4f8b5d1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.12...0.136.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.11 to 3.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.13 (2026-04-22)\n+++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect classification error for codepoint U+A7F1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.12 (2026-04-21)\n+++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 17.0.0.\u003c/li\u003e\n\u003cli\u003eIssue a deprecation warning for the transitional argument.\u003c/li\u003e\n\u003cli\u003eAdded lazy-loading to provide some performance improvements.\u003c/li\u003e\n\u003cli\u003eRemoved vestiges of code related to Python 2 support, including\nsegmentation of data structures specific to Jython.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Rodrigo Nogueira for contributions to this release.\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/kjd/idna/commit/89cdfd27338896cee6b1ee18e64c96ac28684ce0\"\u003e\u003ccode\u003e89cdfd2\u003c/code\u003e\u003c/a\u003e Release v3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1eb068687543118147417a8d8a70674e2c172891\"\u003e\u003ccode\u003e1eb0686\u003c/code\u003e\u003c/a\u003e Pre-release 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5f20d1e41eea3b3873d18d83d7a384784f72a92e\"\u003e\u003ccode\u003e5f20d1e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/220\"\u003e#220\u003c/a\u003e from kjd/unicode-next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/4ea84252ab21e62a79e5a3273746112b5dcfb810\"\u003e\u003ccode\u003e4ea8425\u003c/code\u003e\u003c/a\u003e Regenerate idnadata.py with correct NFKC_CF data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/fd47341a08bbdcffda33694211ca4de10170cd41\"\u003e\u003ccode\u003efd47341\u003c/code\u003e\u003c/a\u003e Use NFKC_CF from Unicode data files instead of Python's unicodedata module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a5304a4cdbd7b31595f8ac42ffdfa88f5b936467\"\u003e\u003ccode\u003ea5304a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/219\"\u003e#219\u003c/a\u003e from kjd/release-3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/d80d6f9254d699961fa2c669a1534cde9d4ee5b6\"\u003e\u003ccode\u003ed80d6f9\u003c/code\u003e\u003c/a\u003e Release v3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1bb44ddb3f2a9dcf97a6ac11aba34e5b6ed31291\"\u003e\u003ccode\u003e1bb44dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/218\"\u003e#218\u003c/a\u003e from kjd/release-candidate-3.12rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/909c49d15b8d159be163bccc7972116baffdb47b\"\u003e\u003ccode\u003e909c49d\u003c/code\u003e\u003c/a\u003e Release candidate for 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c5459a10370f005dc09921aee3201b5a45699f9d\"\u003e\u003ccode\u003ec5459a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/217\"\u003e#217\u003c/a\u003e from kjd/housekeeping-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.11...v3.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 26.0 to 26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect sysconfig var name for pyemscripten by \u003ca href=\"https://github.com/ryanking13\"\u003e\u003ccode\u003e@​ryanking13\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1160\"\u003epypa/packaging#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e, \u003ccode\u003eSpecifier\u003c/code\u003e, \u003ccode\u003eSpecifierSet\u003c/code\u003e, \u003ccode\u003eTag\u003c/code\u003e, \u003ccode\u003eMarker\u003c/code\u003e, and \u003ccode\u003eRequirement\u003c/code\u003e pickle-safe\nand backward-compatible with pickles created in 25.0-26.1 (including references to the removed\n\u003ccode\u003epackaging._structures\u003c/code\u003e module) by \u003ca href=\"https://github.com/eachimei\"\u003e\u003ccode\u003e@​eachimei\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1163\"\u003epypa/packaging#1163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1168\"\u003epypa/packaging#1168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1170\"\u003epypa/packaging#1170\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1171\"\u003epypa/packaging#1171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: re-export ExceptionGroup for now by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1164\"\u003epypa/packaging#1164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add errors section and fix missing details by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1159\"\u003epypa/packaging#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(dev): document property-based test suite by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1167\"\u003epypa/packaging#1167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in DirectUrl documentation by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1169\"\u003epypa/packaging#1169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(specifiers): add is_unsatisfiable() usage example by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1166\"\u003epypa/packaging#1166\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInternal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the auditor persona on zizmor by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1158\"\u003epypa/packaging#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest new pickle guarantees by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1174\"\u003epypa/packaging#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse native uv integration in rtd by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1175\"\u003epypa/packaging#1175\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/ryanking13\"\u003e\u003ccode\u003e@​ryanking13\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1160\"\u003epypa/packaging#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eachimei\"\u003e\u003ccode\u003e@​eachimei\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1163\"\u003epypa/packaging#1163\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/packaging/compare/26.1...26.2\"\u003ehttps://github.com/pypa/packaging/compare/26.1...26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e26.1\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cdel\u003ePEP 783: add handling for Emscripten wheel tags by \u003ca href=\"https://github.com/hoodmane\"\u003e\u003ccode\u003e@​hoodmane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/804\"\u003epypa/packaging#804\u003c/a\u003e\u003c/del\u003e (old name used in implementation, will be fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1099\"\u003epypa/packaging#1099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1065\"\u003epypa/packaging#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/944\"\u003epypa/packaging#944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1071\"\u003epypa/packaging#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1119\"\u003epypa/packaging#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1110\"\u003epypa/packaging#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1068\"\u003epypa/packaging#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1146\"\u003epypa/packaging#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1078\"\u003epypa/packaging#1078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1150\"\u003epypa/packaging#1150\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1140\"\u003epypa/packaging#1140\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/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.2 - 2026-04-24\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFixes:\n\u003cul\u003e\n\u003cli\u003eFix incorrect sysconfig var name for pyemscripten in (:pull:\u003ccode\u003e1160\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e, \u003ccode\u003eSpecifier\u003c/code\u003e, \u003ccode\u003eSpecifierSet\u003c/code\u003e, \u003ccode\u003eTag\u003c/code\u003e, \u003ccode\u003eMarker\u003c/code\u003e, and \u003ccode\u003eRequirement\u003c/code\u003e pickle-safe\u003cbr /\u003e\nand backward-compatible with pickles created in 25.0-26.1 (including references to the removed\u003cbr /\u003e\n\u003ccode\u003epackaging._structures\u003c/code\u003e module) (:pull:\u003ccode\u003e1163\u003c/code\u003e, :pull:\u003ccode\u003e1168\u003c/code\u003e, :pull:\u003ccode\u003e1170\u003c/code\u003e, :pull:\u003ccode\u003e1171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRe-export \u003ccode\u003eExceptionGroup\u003c/code\u003e in metadata for now in (:pull:\u003ccode\u003e1164\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd errors section and fix missing details in (:pull:\u003ccode\u003e1159\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument our property-based test suite in (:pull:\u003ccode\u003e1167\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eDirectUrl\u003c/code\u003e typo in (:pull:\u003ccode\u003e1167\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd example of \u003ccode\u003eis_unsatisfiable\u003c/code\u003e in (:pull:\u003ccode\u003e1166\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInternal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the auditor persona on zizmor in (:pull:\u003ccode\u003e1158\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest new pickle guarantees in (:pull:\u003ccode\u003e1174\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse new native ReadTheDocs uv integration in (:pull:\u003ccode\u003e1175\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e26.1 - 2026-04-14\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 783: add handling for Emscripten wheel tags in (:pull:\u003ccode\u003e804\u003c/code\u003e) (old name used in implementation, fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag in (:pull:\u003ccode\u003e1099\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package in (:pull:\u003ccode\u003e1065\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module in (:pull:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module in (:pull:\u003ccode\u003e1071\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) in (:pull:\u003ccode\u003e1119\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags in (:pull:\u003ccode\u003e1110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e in (:pull:\u003ccode\u003e1068\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's in (:pull:\u003ccode\u003e1146\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e in (:pull:\u003ccode\u003e1078\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e in (:pull:\u003ccode\u003e1150\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1140\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026gt;V\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private in (:pull:\u003ccode\u003e1125\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII in (:pull:\u003ccode\u003e1102\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/84a87ee42483d7352f9502d78a9553da8859aa7a\"\u003e\u003ccode\u003e84a87ee\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/4a616b65bed23c8c6d58e6b0fc1a4434d4ff1f14\"\u003e\u003ccode\u003e4a616b6\u003c/code\u003e\u003c/a\u003e docs: a few more updates to prepare for 26.2 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9de6f44f1e82d4595edf3aad1c4f6f98c85935a0\"\u003e\u003ccode\u003e9de6f44\u003c/code\u003e\u003c/a\u003e ci: use native uv integration in rtd (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/bc76e14debd1a2799d1ca8f9d9c9823f35bfa466\"\u003e\u003ccode\u003ebc76e14\u003c/code\u003e\u003c/a\u003e chore: update changelog for 26.2 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1161\"\u003e#1161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3f00091c08f0aa830e33ed7db00f16f11c8ac97f\"\u003e\u003ccode\u003e3f00091\u003c/code\u003e\u003c/a\u003e tests: add a pickle check (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1174\"\u003e#1174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/48a8a069805291186522de3eff73ea80a8ca96ad\"\u003e\u003ccode\u003e48a8a06\u003c/code\u003e\u003c/a\u003e fix: make Requirements/Markers pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1171\"\u003e#1171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/823b44ed1f904084a77ae3adf0ef130af6365f84\"\u003e\u003ccode\u003e823b44e\u003c/code\u003e\u003c/a\u003e fix: make Tags pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1170\"\u003e#1170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/4bed32d920ca7211dd65fdf0a1ee06376e9c4733\"\u003e\u003ccode\u003e4bed32d\u003c/code\u003e\u003c/a\u003e fix: make Specifier / SpecifierSet pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/963118e37caae97bc8b72f72956c7fb4ca9857ec\"\u003e\u003ccode\u003e963118e\u003c/code\u003e\u003c/a\u003e fix: re-export ExceptionGroup for now (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/66e34a80256c96dea11da143682950c84b8133bb\"\u003e\u003ccode\u003e66e34a8\u003c/code\u003e\u003c/a\u003e docs(specifiers): add is_unsatisfiable() usage example (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/26.0...26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.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.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting 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/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux 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/13064\"\u003e#13064\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data 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/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9e9a11132c980c4ec84ff6d2df06d4c1a55ca8f3\"\u003e\u003ccode\u003e9e9a111\u003c/code\u003e\u003c/a\u003e Fix backported test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1ec8c6aa0cae1c78409c6f31af738a24e16c7124\"\u003e\u003ccode\u003e1ec8c6a\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/fb4f2044436e9fa4ff9745479ce263016a99c4d6\"\u003e\u003ccode\u003efb4f204\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.9.1 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing env vars into Optional Strict types by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/792\"\u003epydantic/pydantic-settings#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RecursionError with mutually recursive models in CLI by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/794\"\u003epydantic/pydantic-settings#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix env_file from model_config ignored in CliApp.run() (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/795\"\u003e#795\u003c/a\u003e) by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/796\"\u003epydantic/pydantic-settings#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/798\"\u003epydantic/pydantic-settings#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Dependabot configuration by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/801\"\u003epydantic/pydantic-settings#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump samuelcolvin/check-python-version from 4.1 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/802\"\u003epydantic/pydantic-settings#802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 7 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/pydantic/pydantic-settings/pull/803\"\u003epydantic/pydantic-settings#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/804\"\u003epydantic/pydantic-settings#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 7 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/pydantic/pydantic-settings/pull/805\"\u003epydantic/pydantic-settings#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/806\"\u003epydantic/pydantic-settings#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore chardet and group GitHub Actions in Dependabot by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/808\"\u003epydantic/pydantic-settings#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 8 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/pydantic/pydantic-settings/pull/809\"\u003epydantic/pydantic-settings#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/810\"\u003epydantic/pydantic-settings#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport reading .env files from FIFOs (e.g. 1Password Environments) by \u003ca href=\"https://github.com/JacobHayes\"\u003e\u003ccode\u003e@​JacobHayes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/776\"\u003epydantic/pydantic-settings#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix AliasChoices ignored when changing provider priority by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/813\"\u003epydantic/pydantic-settings#813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve KeyError in run_subcommand for underscore field names by \u003ca href=\"https://github.com/bradykieffer\"\u003e\u003ccode\u003e@​bradykieffer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/799\"\u003epydantic/pydantic-settings#799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/814\"\u003epydantic/pydantic-settings#814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eLiteral[numeric Enum]\u003c/code\u003e coercion for CLI and env vars by \u003ca href=\"https://github.com/m9810223\"\u003e\u003ccode\u003e@​m9810223\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/811\"\u003epydantic/pydantic-settings#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nested discriminated unions not discovered by env/CLI providers by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/816\"\u003epydantic/pydantic-settings#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/820\"\u003epydantic/pydantic-settings#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI ensure env nested max split internally. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/821\"\u003epydantic/pydantic-settings#821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages group 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/pydantic/pydantic-settings/pull/824\"\u003epydantic/pydantic-settings#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eboto3-stubs\u003c/code\u003e to \u003ccode\u003etypes-boto3\u003c/code\u003e by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/831\"\u003epydantic/pydantic-settings#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CLI not recog...\n\n_Description has been truncated_","html_url":"https://github.com/saagpatel/JobMarketHeatmap/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/saagpatel%2FJobMarketHeatmap/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"4340184080","node_id":"PR_kwDOQkCN-s7WLnv1","number":45,"state":"open","title":"chore(deps-dev): bump pyinstaller from 6.19.0 to 6.20.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T02:38:30.000Z","updated_at":"2026-04-28T02:38:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.19.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.19.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Lab700xOrg/aisbom/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lab700xOrg%2Faisbom/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"},{"uuid":"4339293699","node_id":"PR_kwDOQBzOXs7WIvUc","number":3,"state":"open","title":"Update pyinstaller requirement from \u003e=5.13.0 to \u003e=6.20.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T22:42:34.000Z","updated_at":"2026-04-27T22:42:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"pyinstaller","old_version":"\u003e=5.13.0","new_version":"\u003e=6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v5.13.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/1110101/FileMover/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/1110101%2FFileMover/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4322921557","node_id":"PR_kwDOR43LXc7VVPT-","number":4,"state":"closed","title":"chore(deps): update pip: bump the pip-version-updates group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T12:38:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T12:33:24.000Z","updated_at":"2026-05-22T12:38:44.000Z","time_to_close":2419518,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update pip: bump","group_name":"pip-version-updates","update_count":13,"packages":[{"name":"boto3","old_version":"1.42.78","new_version":"1.42.95","repository_url":"https://github.com/boto/boto3"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"keyring","old_version":"24.3.1","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"cryptography","old_version":"46.0.6","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"nuitka","old_version":"4.0.7","new_version":"4.0.8","repository_url":"https://github.com/Nuitka/Nuitka"},{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"ruff","old_version":"0.15.8","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.2","repository_url":"https://github.com/python/mypy"},{"name":"types-requests","old_version":"2.33.0.20260327","new_version":"2.33.0.20260408","repository_url":"https://github.com/python/typeshed"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-version-updates group with 13 updates in the /source directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.42.78` | `1.42.95` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [keyring](https://github.com/jaraco/keyring) | `24.3.1` | `25.7.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.6` | `46.0.7` |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [nuitka](https://github.com/Nuitka/Nuitka) | `4.0.7` | `4.0.8` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.19.0` | `6.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.8` | `0.15.11` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.2` |\n| [types-requests](https://github.com/python/typeshed) | `2.33.0.20260327` | `2.33.0.20260408` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n\n\nUpdates `boto3` from 1.42.78 to 1.42.95\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a47ce816eb1f088956353335f2bd2cd56b6b1fc6\"\u003e\u003ccode\u003ea47ce81\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.95'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/03cc5cdf7c550b4a36d43f07745f77aa9dbc0c9a\"\u003e\u003ccode\u003e03cc5cd\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.95\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ab160a576b0e6e150a9752837fe5e52961ae7349\"\u003e\u003ccode\u003eab160a5\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/10094042f04226ec32ae43a7051c2635bc033164\"\u003e\u003ccode\u003e1009404\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.94'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0017b80aa909dd8e95cfde8f79345cef8bcafc66\"\u003e\u003ccode\u003e0017b80\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.94' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d13e367c401e838057f876a19eb9b452a9503b66\"\u003e\u003ccode\u003ed13e367\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.94\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7ddb8f520ab750d7ac3d1648efe5ecc01c511ca3\"\u003e\u003ccode\u003e7ddb8f5\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/7b0e06b6050fde742f32918dae42b4ffac8f5930\"\u003e\u003ccode\u003e7b0e06b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8.0.0 to 9.0.0 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/30acde73678f9eddb46f4a56a93dbc8e923210ff\"\u003e\u003ccode\u003e30acde7\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.93'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5e30d509d8baee43593bb4ede873714f4b428f4b\"\u003e\u003ccode\u003e5e30d50\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.93' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.78...1.42.95\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\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.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\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/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\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/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\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/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `keyring` from 24.3.1 to 25.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/keyring/blob/main/NEWS.rst\"\u003ekeyring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev25.7.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for KWallet 6. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved cruft from Python 3.8. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.6.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid logging a warning when config does not specify a backend. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.5.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing \u003ccode\u003ekeyring_path\u003c/code\u003e from the config, the home directory is now expanded from \u003ccode\u003e~\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/696\"\u003e#696\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIn get_credential, now returns None when the indicated username is not found. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.4.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ValueError for AnonymousCredentials in CLI. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.4.0\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/38c040133559682902f25fe96496756ee6849820\"\u003e\u003ccode\u003e38c0401\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/e5b7d2a20931fa7f4d53e28eb5dffceb2e82ba6b\"\u003e\u003ccode\u003ee5b7d2a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Disable type checking on filter call. Fixes \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/659\"\u003e#659\u003c/a\u003e.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/2ce2d465050d73db8b1b7662c4e53c7b6fa7aafc\"\u003e\u003ccode\u003e2ce2d46\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/4bb5ece9a6959ee71ec464595f64e88951d00fb6\"\u003e\u003ccode\u003e4bb5ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/722\"\u003e#722\u003c/a\u003e from hugovk/rm-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/d7c0aa4e1dbfcde3064c1448dc1fd09c76e93d1d\"\u003e\u003ccode\u003ed7c0aa4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into rm-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/ea1d763bfd80bf7cedd95fb040d38fc1d29c3e87\"\u003e\u003ccode\u003eea1d763\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/721\"\u003e#721\u003c/a\u003e from hugovk/fix-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/30eea9d7769b167be0667ea3aa3722c762e20659\"\u003e\u003ccode\u003e30eea9d\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://github.com/jaraco/skeleton\"\u003ehttps://github.com/jaraco/skeleton\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/fb6e52cf3f511242f0a9ff2441eb7e29c67f7268\"\u003e\u003ccode\u003efb6e52c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/724\"\u003e#724\u003c/a\u003e from dachucky/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/9ff845920c4c72031343b17c6a3d605e6247f081\"\u003e\u003ccode\u003e9ff8459\u003c/code\u003e\u003c/a\u003e Generalize the guidance around tox.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/e7fbfa76a1f675bede0f5654e99add3a0cd66370\"\u003e\u003ccode\u003ee7fbfa7\u003c/code\u003e\u003c/a\u003e Prefer imperative third-person voice.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/keyring/compare/v24.3.1...v25.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.6 to 46.0.7\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.7 - 2026-04-07\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed an issue where non-contiguous buffers could be\n  passed to APIs that accept Python buffers, which could lead to buffer\n  overflow. **CVE-2026-39892**\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.6.\n\u003cp\u003e.. _v46-0-6:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/622d672e429a7cff836a23c5903683dbec1901f5\"\u003e\u003ccode\u003e622d672\u003c/code\u003e\u003c/a\u003e 46.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14602\"\u003e#14602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.6...46.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.3 to 15.0.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 So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Startup Release\u003c/h2\u003e\n\u003cp\u003eNo new features in this release, but there should be improved startup time for Rich apps, and potentially improved runtime if you have a lot of links.\u003c/p\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.3...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.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.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting 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/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux 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/13064\"\u003e#13064\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data 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/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9e9a11132c980c4ec84ff6d2df06d4c1a55ca8f3\"\u003e\u003ccode\u003e9e9a111\u003c/code\u003e\u003c/a\u003e Fix backported test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1ec8c6aa0cae1c78409c6f31af738a24e16c7124\"\u003e\u003ccode\u003e1ec8c6a\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/fb4f2044436e9fa4ff9745479ce263016a99c4d6\"\u003e\u003ccode\u003efb4f204\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\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/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nuitka` from 4.0.7 to 4.0.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/72a919835db2022a5db14ef64304dd2f18fe13b4\"\u003e\u003ccode\u003e72a9198\u003c/code\u003e\u003c/a\u003e Merge branch 'hotfix/4.0.8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/d7c4f6d7f951d0874d306c674395bbdb04461a83\"\u003e\u003ccode\u003ed7c4f6d\u003c/code\u003e\u003c/a\u003e New hotfix release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/858250800de56eac6432cf97f1be0ed1df205dcb\"\u003e\u003ccode\u003e8582508\u003c/code\u003e\u003c/a\u003e Python2: Fix, FileNotFoundError is more than one exception actually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/505917f202379f542fe5f87b7511b1fb2a2e3436\"\u003e\u003ccode\u003e505917f\u003c/code\u003e\u003c/a\u003e Plugins: Added support for multiprocessing forkserver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/f09c94258c1b68a91ca8fd22330ae781c6bac342\"\u003e\u003ccode\u003ef09c942\u003c/code\u003e\u003c/a\u003e Python3.11: Fix 'ags-as-a-type-variable-tuple` in PEP 646 (\u003ca href=\"https://redirect.github.com/Nuitka/Nuitka/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/082ee0e55cb495769ddd7d9ec15d781249ba73c3\"\u003e\u003ccode\u003e082ee0e\u003c/code\u003e\u003c/a\u003e Python3.13: Fix the \u003ccode\u003e__parameters__\u003c/code\u003e attribute of generic classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/c8e08e90fc4b58e83819795f1d8672cf4a2a0912\"\u003e\u003ccode\u003ec8e08e9\u003c/code\u003e\u003c/a\u003e Python3.10: Added support for \u0026quot;importlib.metadata.package_distributions()\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/990ae58d5a3495f11957025935f31dceb3a3efa5\"\u003e\u003ccode\u003e990ae58\u003c/code\u003e\u003c/a\u003e Optimization: For Linux profiling, cache the \u0026quot;syscall\u0026quot; and don't load libc fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/c7b661e7b399938f534e492f9342b5fbd090c7ac\"\u003e\u003ccode\u003ec7b661e\u003c/code\u003e\u003c/a\u003e Visual Code: Ignore generated file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/99e705d583f79b8633e7c378b1231d561e6a5976\"\u003e\u003ccode\u003e99e705d\u003c/code\u003e\u003c/a\u003e Fix, had missing exception-exit annotations for dict pop/setdefault walrus re...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Nuitka/Nuitka/compare/4.0.7...4.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.19.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `ruff` from 0.15.8 to 0.15.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-16.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003eRUF029\u003c/code\u003e when function is decorated with \u003ccode\u003easynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24642\"\u003e#24642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-xcom-pull-in-template-string\u003c/code\u003e (\u003ccode\u003eAIR201\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23583\"\u003e#23583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix \u003ccode\u003eS103\u003c/code\u003e false positives and negatives in mask analysis (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24424\"\u003e#24424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Omit overridden methods for \u003ccode\u003eASYNC109\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24648\"\u003e#24648\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Add override mention to \u003ccode\u003eASYNC109\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Neovim config examples to use \u003ccode\u003evim.lsp.config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24577\"\u003e#24577\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/benberryallwood\"\u003e\u003ccode\u003e@​benberryallwood\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.11\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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.11\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/ruff/releases/download/0.15.11/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-i686-pc-windows-msvc.zip\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-i686-pc-windows-msvc.zip.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/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.11\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-16.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003eRUF029\u003c/code\u003e when function is decorated with \u003ccode\u003easynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24642\"\u003e#24642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-xcom-pull-in-template-string\u003c/code\u003e (\u003ccode\u003eAIR201\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23583\"\u003e#23583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix \u003ccode\u003eS103\u003c/code\u003e false positives and negatives in mask analysis (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24424\"\u003e#24424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Omit overridden methods for \u003ccode\u003eASYNC109\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24648\"\u003e#24648\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Add override mention to \u003ccode\u003eASYNC109\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Neovim config examples to use \u003ccode\u003evim.lsp.config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24577\"\u003e#24577\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/benberryallwood\"\u003e\u003ccode\u003e@​benberryallwood\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-09.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging\u003c/code\u003e] Allow closures in except handlers (\u003ccode\u003eLOG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24464\"\u003e#24464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Make \u003ccode\u003eSLF\u003c/code\u003e diagnostics robust to non-self-named variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24281\"\u003e#24281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Make the fix for \u003ccode\u003ecollapsible-if\u003c/code\u003e safe in \u003ccode\u003epreview\u003c/code\u003e (\u003ccode\u003eSIM102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24371\"\u003e#24371\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid emitting multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24377\"\u003e#24377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error from \u003ccode\u003eE502\u003c/code\u003e fixes in f-strings and t-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24410\"\u003e#24410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip form feeds from indent passed to \u003ccode\u003ededent_to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24381\"\u003e#24381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix panic caused by handling of octals (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24390\"\u003e#24390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24355\"\u003e#24355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat f-string interpolation as potential side effect (\u003ccode\u003eRUF019\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\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/ruff/commit/53554b1cfe837f2eb992a81794480699478f1116\"\u003e\u003ccode\u003e53554b1\u003c/code\u003e\u003c/a\u003e Bump 0.15.11 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24678\"\u003e#24678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/08c56c83cffbb1025cbf5bdede6c6d8be591cf47\"\u003e\u003ccode\u003e08c56c8\u003c/code\u003e\u003c/a\u003e Factor out the \u003ccode\u003emdtest\u003c/code\u003e crate (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24616\"\u003e#24616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/725fbb736d2a999971449b61190b914abd26102a\"\u003e\u003ccode\u003e725fbb7\u003c/code\u003e\u003c/a\u003e [ty] Use partially qualified names when reporting diagnostics regarding bad c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ddd6a30ff5fa27694dc1c50d0749885a1519d0a7\"\u003e\u003ccode\u003eddd6a30\u003c/code\u003e\u003c/a\u003e [ty] Do not suggest argument completion when at value of keyword argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9282e61d482a36da08d66bb8271afeef50b3bc45\"\u003e\u003ccode\u003e9282e61\u003c/code\u003e\u003c/a\u003e Disallow \u003ca href=\"https://github.com/disjoint\"\u003e\u003ccode\u003e@​disjoint\u003c/code\u003e\u003c/a\u003e_base on TypedDicts and Protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24671\"\u003e#24671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9986d8e3008eefe2e387312c4dc8b9c60f6f362\"\u003e\u003ccode\u003ee9986d8\u003c/code\u003e\u003c/a\u003e [ty] Reject using properties with \u003ccode\u003eNever\u003c/code\u003e setters or deleters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24510\"\u003e#24510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9cf212ff82f7b66b4a275ad6a9b1564aee1fa4a8\"\u003e\u003ccode\u003e9cf212f\u003c/code\u003e\u003c/a\u003e [ty] Normalize property setter and deleter wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24509\"\u003e#24509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/12a1589de4d7120cf99441ee4c14871bdc20968d\"\u003e\u003ccode\u003e12a1589\u003c/code\u003e\u003c/a\u003e Add override mention to ASYNC109 docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dccb03d010f4442ed60624f8d2ba932706abaabb\"\u003e\u003ccode\u003edccb03d\u003c/code\u003e\u003c/a\u003e [ty] Avoid panicking on overloaded \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24661\"\u003e#24661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/61f9a0a5763fb068cd2f26c0ee9d63a277fb26c2\"\u003e\u003ccode\u003e61f9a0a\u003c/code\u003e\u003c/a\u003e [ty] Sync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24646\"\u003e#24646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.8...0.15.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.1 to 1.20.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.20.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse WAL with SQLite cache and fix close (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21154\"\u003e21154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust SQLite journal mode (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21217\"\u003e21217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly aggregate narrowing information on parent expressions (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21206\"\u003e21206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression related to generic callables (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21208\"\u003e21208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression by avoiding widening types in some contexts (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21242\"\u003e21242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix slicing in non-strict optional mode (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21282\"\u003e21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emypyc: Fix match statement semantics for \u0026quot;or\u0026quot; pattern (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21156\"\u003e21156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emypyc: Fix issue with module dunder attributes (Piotr Sawicki, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21275\"\u003e21275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInitial support for Python 3.15.0a8 (Marc Mueller, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21255\"\u003e21255\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eAaron Wieczorek\u003c/li\u003e\n\u003cli\u003eAdam Turner\u003c/li\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003easce\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrent Westbrook\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChris Burroughs\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eColin Watson\u003c/li\u003e\n\u003cli\u003eDonghoon Nam\u003c/li\u003e\n\u003cli\u003eE. M. Bray\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eGeorge Ogden\u003c/li\u003e\n\u003cli\u003egetzze\u003c/li\u003e\n\u003cli\u003egrayjk\u003c/li\u003e\n\u003cli\u003eGregor Riepl\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilliard\u003c/li\u003e\n\u003cli\u003eJames Le Cuirot\u003c/li\u003e\n\u003cli\u003eJeremy Nimmer\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKai (Kazuya Ito)\u003c/li\u003e\n\u003cli\u003ekaushal trivedi\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eLukas Geiger\u003c/li\u003e\n\u003cli\u003eŁukasz Langa\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael R. Crusoe\u003c/li\u003e\n\u003cli\u003emichaelm-openai\u003c/li\u003e\n\u003cli\u003eNeil Schemenauer\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/145a062651b5f9996b75ef32b7040bd2e885ed82\"\u003e\u003ccode\u003e145a062\u003c/code\u003e\u003c/a\u003e Bump version to 1.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/81cd49215c288eacb987de066f02daff2553b7c7\"\u003e\u003ccode\u003e81cd492\u003c/code\u003e\u003c/a\u003e Fix slicing with nonstrict optional (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/908d3441eecbaa2a6193165317177db834d7ca1a\"\u003e\u003ccode\u003e908d344\u003c/code\u003e\u003c/a\u003e [mypyc] Set dunder attrs when adding module to sys.modules (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21275\"\u003e#21275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ba28610fac9d2b33be210ca8dcfe4bc47b7af424\"\u003e\u003ccode\u003eba28610\u003c/code\u003e\u003c/a\u003e Initial support for Python 3.15.0a8 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21255\"\u003e#21255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7b0e09f48dbd3717ed008a273cd17e8e960c2037\"\u003e\u003ccode\u003e7b0e09f\u003c/code\u003e\u003c/a\u003e Fix match statement semantics for \u0026quot;or\u0026quot; pattern (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21156\"\u003e#21156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/92b74f226de62f7505f5ef5cb158e8ec9c58b8b7\"\u003e\u003ccode\u003e92b74f2\u003c/code\u003e\u003c/a\u003e Avoid widening types in conditional_types (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21242\"\u003e#21242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0dcbfaa40b0e360a16baea9cf851955375d91b54\"\u003e\u003ccode\u003e0dcbfaa\u003c/code\u003e\u003c/a\u003e Fix is_overlapping_types for generic callables (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21208\"\u003e#21208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/210f518dede35292033ef0d387847406a0ccef8f\"\u003e\u003ccode\u003e210f518\u003c/code\u003e\u003c/a\u003e Correctly aggregate narrowing information on parent expressions (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21206\"\u003e#21206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c34530e53a10e385d8b0f1af4baa88a596b5ceaa\"\u003e\u003ccode\u003ec34530e\u003c/code\u003e\u003c/a\u003e Only set journal mode in coordinator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21217\"\u003e#21217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/79a3ec6d01b56a27c00e9b3320c2b1d4d73a77f9\"\u003e\u003ccode\u003e79a3ec6\u003c/code\u003e\u003c/a\u003e Use WAL with SQLite cache, fix close (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21154\"\u003e#21154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.1...v1.20.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.33.0.20260327 to 2.33.0.20260408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/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\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/thi-dinh-iconic/guidance-for-claude-code-with-amazon-bedrock/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thi-dinh-iconic%2Fguidance-for-claude-code-with-amazon-bedrock/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4256887333","node_id":"PR_kwDOPTHPGM7SEfFv","number":6,"state":"closed","title":"Bump the python-packages group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T00:13:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T18:02:26.000Z","updated_at":"2026-05-12T00:13:51.000Z","time_to_close":2441484,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":7,"packages":[{"name":"beautifulsoup4","old_version":"4.7.1","new_version":"4.14.3"},{"name":"lxml","old_version":"6.0.0","new_version":"6.0.4","repository_url":"https://github.com/lxml/lxml"},{"name":"xmltodict","old_version":"0.11.0","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"},{"name":"pyinstaller","old_version":"6.14.2","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pymupdf","old_version":"1.26.3","new_version":"1.26.5","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"markdown","old_version":"3.8.2","new_version":"3.9","repository_url":"https://github.com/Python-Markdown/markdown"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/), [lxml](https://github.com/lxml/lxml), [xmltodict](https://github.com/martinblech/xmltodict), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pymupdf](https://github.com/pymupdf/pymupdf), [markdown](https://github.com/Python-Markdown/markdown) and [setuptools](https://github.com/pypa/setuptools) to permit the latest version.\nUpdates `beautifulsoup4` from 4.7.1 to 4.14.3\n\nUpdates `lxml` from 6.0.0 to 6.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.4 (2026-04-12)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2148019: Spurious MemoryError during namespace cleanup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.3 (2026-04-09)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral out of memory error cases now raise \u003ccode\u003eMemoryError\u003c/code\u003e that were not handled before.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSlicing with large step values (outside of \u003ccode\u003e+/- sys.maxsize\u003c/code\u003e) could trigger undefined C behaviour.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125399: Some failing tests were fixed or disabled in PyPy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2138421: Memory leak in error cases when setting the \u003ccode\u003epublic_id\u003c/code\u003e or \u003ccode\u003esystem_url\u003c/code\u003e of a document.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMemory leak in case of a memory allocation failure when copying document subtrees.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen mapping an XPath result to Python failed, the result memory could leak.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen preparing an XSLT transform failed, the XSLT parameter memory could leak.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuilt using Cython 3.2.4.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use zlib 1.3.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.2 (2025-09-21)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125278: Compilation with libxml2 2.15.0 failed.\nOriginal patch by Xi Ruoyao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetting \u003ccode\u003edecompress=True\u003c/code\u003e in the parser had no effect in libxml2 2.15.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels on Linux and macOS use the library version libxml2 2.14.6.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/1fd1d6bc300bcd9a41def810c5fc3223811b579e\"\u003e\u003ccode\u003e1fd1d6b\u003c/code\u003e\u003c/a\u003e Fix release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/515485906ccdd89b61088e390f65f39e4c205158\"\u003e\u003ccode\u003e5154859\u003c/code\u003e\u003c/a\u003e CI: Include all library versions in libs cache key to asssure updated on vers...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6a606f32724060fe0465cd38d6fb7e6e22e7ef81\"\u003e\u003ccode\u003e6a606f3\u003c/code\u003e\u003c/a\u003e Add \u0026quot;doesn't crash\u0026quot; tests for LP#2148019.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f488f16d20014c0dfde59cd2930b41604bcc3c8d\"\u003e\u003ccode\u003ef488f16\u003c/code\u003e\u003c/a\u003e Prepare release of 6.0.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/1255d98f168672639c46cb6419a97e31026e8086\"\u003e\u003ccode\u003e1255d98\u003c/code\u003e\u003c/a\u003e LP#2148019: Prevent spurious MemoryError during namespace cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/03b0c4aa1aded486f2e4a04cf5c329524df73c57\"\u003e\u003ccode\u003e03b0c4a\u003c/code\u003e\u003c/a\u003e Remove dead type check.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a6f833c7e187c17d5087d29227e066d94490280f\"\u003e\u003ccode\u003ea6f833c\u003c/code\u003e\u003c/a\u003e Fix release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/973d059449a66799f468b46f4b12c95e32cff5e9\"\u003e\u003ccode\u003e973d059\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9044a52ce26a3ccf48b6cad8031234a0ddf7612b\"\u003e\u003ccode\u003e9044a52\u003c/code\u003e\u003c/a\u003e Build: Downgrade libiconv to 1.18 since 1.19 does not build reliably.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a34dfdd593368fc444f6b66d03fd60d76966c9d2\"\u003e\u003ccode\u003ea34dfdd\u003c/code\u003e\u003c/a\u003e Build: Upgrade libiconv to 1.19.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.0.0...lxml-6.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xmltodict` from 0.11.0 to 1.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/martinblech/xmltodict/releases\"\u003exmltodict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.3...v1.0.4\"\u003e1.0.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e add bytes_errors policy and handle bytes scalars consistently (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003eed70434\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.2...v1.0.3\"\u003e1.0.3\u003c/a\u003e (2026-02-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003eaa16511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereadme:\u003c/strong\u003e fix Fedora and Arch package links (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003efd6a73b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.1...v1.0.2\"\u003e1.0.2\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow DOCTYPE with disable_entities=True (default) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/25b61a41f580cfc211df07c5fbbf603bd8eb5a5f\"\u003e25b61a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.0...v1.0.1\"\u003e1.0.1\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efail closed when entities disabled (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/c986d2d37a93d45fcc059b09063d9d9c45a655ec\"\u003ec986d2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate XML comments (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/3d4d2d3a4cd0f68d1211dba549010261fa87b969\"\u003e3d4d2d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd SECURITY.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/64130233c8fea272a5f82f2f585e1593523ec1b1\"\u003e6413023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify behavior for empty lists (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2025b5cb5e64fc9c4d54b8644187a0a193bdd0ed\"\u003e2025b5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify process_comments docs (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/6b464fce284a93dbb292f3d063c9f310a478a014\"\u003e6b464fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify strip whitespace comment behavior (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/b3e22032d21cc387d6cecf3930116e8fdc3151cf\"\u003eb3e2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate AGENTS.md for coding agents (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/0da66ee797ced7479312aecef92c6a25e235007c\"\u003e0da66ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace travis with actions badge (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2576b94c918fbd154489a95dbbb3feda8bd3cbd8\"\u003e2576b94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/db3918057cf125af989a1263d52df8df5ef8c642\"\u003edb39180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/martinblech/xmltodict/blob/master/CHANGELOG.md\"\u003exmltodict's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.3...v1.0.4\"\u003e1.0.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e add bytes_errors policy and handle bytes scalars consistently (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003eed70434\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.2...v1.0.3\"\u003e1.0.3\u003c/a\u003e (2026-02-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003eaa16511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereadme:\u003c/strong\u003e fix Fedora and Arch package links (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003efd6a73b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.1...v1.0.2\"\u003e1.0.2\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow DOCTYPE with disable_entities=True (default) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/25b61a41f580cfc211df07c5fbbf603bd8eb5a5f\"\u003e25b61a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.0...v1.0.1\"\u003e1.0.1\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efail closed when entities disabled (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/c986d2d37a93d45fcc059b09063d9d9c45a655ec\"\u003ec986d2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate XML comments (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/3d4d2d3a4cd0f68d1211dba549010261fa87b969\"\u003e3d4d2d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd SECURITY.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/64130233c8fea272a5f82f2f585e1593523ec1b1\"\u003e6413023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify behavior for empty lists (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2025b5cb5e64fc9c4d54b8644187a0a193bdd0ed\"\u003e2025b5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify process_comments docs (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/6b464fce284a93dbb292f3d063c9f310a478a014\"\u003e6b464fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify strip whitespace comment behavior (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/b3e22032d21cc387d6cecf3930116e8fdc3151cf\"\u003eb3e2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate AGENTS.md for coding agents (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/0da66ee797ced7479312aecef92c6a25e235007c\"\u003e0da66ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace travis with actions badge (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2576b94c918fbd154489a95dbbb3feda8bd3cbd8\"\u003e2576b94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/db3918057cf125af989a1263d52df8df5ef8c642\"\u003edb39180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v0.15.1...v1.0.0\"\u003e1.0.0\u003c/a\u003e (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\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/martinblech/xmltodict/commit/8d7f1fdb2251b5dc3b98df447850cb8229defc32\"\u003e\u003ccode\u003e8d7f1fd\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003e\u003ccode\u003eed70434\u003c/code\u003e\u003c/a\u003e fix(unparse): add bytes_errors policy and handle bytes scalars consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/89c4bf77b856da1e446fb6f017bf87c7c7f298bf\"\u003e\u003ccode\u003e89c4bf7\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003e\u003ccode\u003efd6a73b\u003c/code\u003e\u003c/a\u003e docs(readme): fix Fedora and Arch package links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003e\u003ccode\u003eaa16511\u003c/code\u003e\u003c/a\u003e fix(unparse): serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/f7d76c96fc0141238947abcc5fa925d3ffd9eb78\"\u003e\u003ccode\u003ef7d76c9\u003c/code\u003e\u003c/a\u003e style: lines required between function definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/1bfb267cd00ba699539d3653b8e0cd3707b2a164\"\u003e\u003ccode\u003e1bfb267\u003c/code\u003e\u003c/a\u003e build: remove unnecessary \u003ccode\u003ewheel\u003c/code\u003e from dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/d9f6d409008ad1115de73a9d5221bf16a2d647db\"\u003e\u003ccode\u003ed9f6d40\u003c/code\u003e\u003c/a\u003e build: no need for README.md in MANIFEST.in\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/34378ef595b1dd553918a19e0f1540dcc5f94b22\"\u003e\u003ccode\u003e34378ef\u003c/code\u003e\u003c/a\u003e build: pep 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/d079849136b031c471ec96a168ad7859ed5994ff\"\u003e\u003ccode\u003ed079849\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/martinblech/xmltodict/compare/v0.11.0...v1.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.14.2 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\u003c/p\u003e\n\u003ch2\u003ev6.16.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.16.0/CHANGES.html#id1\"\u003ev6.16.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.15.0.\u003c/p\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.14.2...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pymupdf` from 1.26.3 to 1.26.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pymupdf/pymupdf/releases\"\u003epymupdf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMuPDF-1.26.5 released\u003c/h2\u003e\n\u003cp\u003eWheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pymupdf\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e[Linux-aarch64 wheels will be built and uploaded later.]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.26.5\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.26.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/2883\"\u003e#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4507\"\u003e#4507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4613\"\u003e#4613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4700\"\u003e#4700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4716\"\u003e#4716\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupported Python versions are now 3.9-3.14.\u003c/li\u003e\n\u003cli\u003eWe now define all class methods explicitly instead of with dynamic assignment; this improves type hints.\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003epymupdf.utils.Shape\u003c/code\u003e class, was duplicate of \u003ccode\u003epymupdf.Shape\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow use of cibuildwheel to build and test on Pyodide.\u003c/li\u003e\n\u003cli\u003eFixed various Pyodide bugs.\u003c/li\u003e\n\u003cli\u003eIn documentation, added section about Linux wheels and glibc compatibility.\u003c/li\u003e\n\u003cli\u003eImproved documentation of pymupdf.open()'s \u003c!-- raw HTML omitted --\u003e arg.\u003c/li\u003e\n\u003cli\u003eRetrospectively mark \u003ccode\u003e4544 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4544\u0026gt;\u003c/code\u003e_ as fixed in 1.26.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePyMuPDF-1.26.4 released\u003c/h2\u003e\n\u003cp\u003eWheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pymupdf\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e[Linux-aarch64 wheels will be built and uploaded later.]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.26.4\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.26.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/3806\"\u003e#3806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4388\"\u003e#4388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4457\"\u003e#4457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt\"\u003epymupdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003e**Changes in version **\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect generation of \u003ccode\u003elineJoin j\u003c/code\u003e in PDF content, introduced in 1.27.2.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.2.2\u003c/strong\u003e (2026-03-20)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4902 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4902\u0026gt;\u003c/code\u003e_: Incorrect linewidth in elements returned by Page.get_texttrace()\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4932 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4932\u0026gt;\u003c/code\u003e_: \u0026quot;Page\u0026quot; has no attribute \u0026quot;find_tables\u0026quot; in PyMuPDF 1.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eAnnot.__bool__()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.2.\u003c/strong\u003e (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.27.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4903 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4903\u0026gt;\u003c/code\u003e_: Typing broken because of \u003ccode\u003e*_forward_decl\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRetrospectively marked \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4907\"\u003e#4907\u003c/a\u003e as fixed in pymupdf-1.27.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved \u003ccode\u003eget_textpage_ocr()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor partial OCR, \u003cstrong\u003eall\u003c/strong\u003e page areas outside legible text are now OCRed, not\njust those within images. This means that OCR will now also be performed\nfor vector graphics, and for text containing illegible characters.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.1\u003c/strong\u003e (2026-02-11)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.27.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4599 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4599\u0026gt;\u003c/code\u003e_: page.cluster_drawings extract a lot of small clusters once upgraded to 1.26\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/pymupdf/PyMuPDF/commit/cc13f8081799c42674a15ef7af6ed90d43b95e89\"\u003e\u003ccode\u003ecc13f80\u003c/code\u003e\u003c/a\u003e pipcl.py: Added asserts to avoid obscure build/runtime errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/cd79b59f0308aa4ff857f39a030fa1dc1e78f5ce\"\u003e\u003ccode\u003ecd79b59\u003c/code\u003e\u003c/a\u003e scripts/test.py: improved cibw command.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/97ed979b651205852dd6d417860851070eeabbd3\"\u003e\u003ccode\u003e97ed979\u003c/code\u003e\u003c/a\u003e scripts/test.py: avoid test failures from cibw's recent default to include fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/a7075241b1b6170a7a67aaa4660070889796ae85\"\u003e\u003ccode\u003ea707524\u003c/code\u003e\u003c/a\u003e tests/test_release.py: avoid error from os.path.relpath() on windows.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/aef5d64601af2d79776a29f6b136467e969399ea\"\u003e\u003ccode\u003eaef5d64\u003c/code\u003e\u003c/a\u003e scripts/test.py: fixed bug in manylinux cibuildwheel builds.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/c4a83eaf0bcde1fc3ff1310271868d1a1da75918\"\u003e\u003ccode\u003ec4a83ea\u003c/code\u003e\u003c/a\u003e tests/: added test_4699() for upstream bug fixed with mupdf master.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/090e23e315a03b32fd719faff629eea41d373f94\"\u003e\u003ccode\u003e090e23e\u003c/code\u003e\u003c/a\u003e changes.txt: add date of most recent release 1.26.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/90e86e7285239360b017ff45e264724da19ca803\"\u003e\u003ccode\u003e90e86e7\u003c/code\u003e\u003c/a\u003e Add 3.14 to list of supported Python versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/13d89c094ebf01a044f9734313128ad060b1a13b\"\u003e\u003ccode\u003e13d89c0\u003c/code\u003e\u003c/a\u003e src/\u003cstrong\u003einit\u003c/strong\u003e.py: fix call of pdf_is_ocg_hidden() with mupdf master.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/d9d4ab8998dbf692f1de27beec6d10598b9f9eb4\"\u003e\u003ccode\u003ed9d4ab8\u003c/code\u003e\u003c/a\u003e changes.txt: updated to match all changes since 1.26.4 release.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pymupdf/pymupdf/compare/1.26.3...1.26.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v61.0.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/codevenkat/Lector/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevenkat%2FLector/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4253388701","node_id":"PR_kwDORg0UGc7R8AqL","number":14,"state":"open","title":"chore(deps)(deps-dev): update pyinstaller requirement from \u003e=6.0.0 to \u003e=6.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T09:59:20.000Z","updated_at":"2026-04-13T09:59:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/diegomarino/takeout-photos/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegomarino%2Ftakeout-photos/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4250597034","node_id":"PR_kwDORXHrac7R1xg_","number":23,"state":"open","title":"deps(deps-dev): update pyinstaller requirement from \u003e=6.0.0 to \u003e=6.19.0 in /akagi_backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T01:13:13.000Z","updated_at":"2026-04-13T01:13:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/akagi_backend","ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/xiaopeiii/Akagi-NG/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaopeiii%2FAkagi-NG/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4165998418","node_id":"PR_kwDOLFN-4s7Obxj9","number":6,"state":"open","title":"chore(deps): bump pyinstaller from 6.3.0 to 6.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-29T22:53:53.000Z","updated_at":"2026-03-29T22:53:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.3.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.3.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\u003c/p\u003e\n\u003ch2\u003ev6.16.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.16.0/CHANGES.html#id1\"\u003ev6.16.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.15.0.\u003c/p\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.3.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.3.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/chrysa/epub-sorter/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrysa%2Fepub-sorter/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4085361278","node_id":"PR_kwDORo7EH87LEW6Z","number":5,"state":"open","title":"chore(deps): bump pyinstaller from 6.16.0 to 6.19.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T23:39:41.000Z","updated_at":"2026-03-16T23:39:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.16.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.16.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.16.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.16.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/rosab0506/friture/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosab0506%2Ffriture/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4075951983","node_id":"PR_kwDORm7r2M7KnAW9","number":5,"state":"closed","title":"Bump the pip group across 2 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-26T18:32:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T14:43:12.000Z","updated_at":"2026-03-26T18:32:50.000Z","time_to_close":1050576,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":3,"packages":[{"name":"numpy","old_version":"1.18.1","new_version":"1.22.0","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.22.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"pyinstaller","old_version":"3.6","new_version":"6.15.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"numpy","old_version":"1.18.1","new_version":"1.22.0","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.22.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"pyinstaller","old_version":"3.6","new_version":"6.15.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 3 updates in the /byob directory: [numpy](https://github.com/numpy/numpy), [requests](https://github.com/psf/requests) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\nBumps the pip group with 3 updates in the /web-gui/buildyourownbotnet directory: [numpy](https://github.com/numpy/numpy), [requests](https://github.com/psf/requests) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\n\nUpdates `numpy` from 1.18.1 to 1.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch1\u003eNumPy 1.22.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 1.22.0 is a big release featuring the work of 153 contributors\nspread over 609 pull requests. There have been many improvements,\nhighlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotations of the main namespace are essentially complete. Upstream\nis a moving target, so there will likely be further improvements,\nbut the major work is done. This is probably the most user visible\nenhancement in this release.\u003c/li\u003e\n\u003cli\u003eA preliminary version of the proposed Array-API is provided. This is\na step in creating a standard collection of functions that can be\nused across application such as CuPy and JAX.\u003c/li\u003e\n\u003cli\u003eNumPy now has a DLPack backend. DLPack provides a common interchange\nformat for array (tensor) data.\u003c/li\u003e\n\u003cli\u003eNew methods for \u003ccode\u003equantile\u003c/code\u003e, \u003ccode\u003epercentile\u003c/code\u003e, and related functions. The\nnew methods provide a complete set of the methods commonly found in\nthe literature.\u003c/li\u003e\n\u003cli\u003eA new configurable allocator for use by downstream projects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese are in addition to the ongoing work to provide SIMD support for\ncommonly used functions, improvements to F2PY, and better documentation.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported in this release are 3.8-3.10, Python 3.7\nhas been dropped. Note that 32 bit wheels are only provided for Python\n3.8 and 3.9 on Windows, all other wheels are 64 bits on account of\nUbuntu, Fedora, and other Linux distributions dropping 32 bit support.\nAll 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix\nthe occasional problems encountered by folks using truly huge arrays.\u003c/p\u003e\n\u003ch2\u003eExpired deprecations\u003c/h2\u003e\n\u003ch3\u003eDeprecated numeric style dtype strings have been removed\u003c/h3\u003e\n\u003cp\u003eUsing the strings \u003ccode\u003e\u0026quot;Bytes0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Datetime64\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Str0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Uint32\u0026quot;\u003c/code\u003e,\nand \u003ccode\u003e\u0026quot;Uint64\u0026quot;\u003c/code\u003e as a dtype will now raise a \u003ccode\u003eTypeError\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19539\"\u003egh-19539\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eExpired deprecations for \u003ccode\u003eloads\u003c/code\u003e, \u003ccode\u003endfromtxt\u003c/code\u003e, and \u003ccode\u003emafromtxt\u003c/code\u003e in npyio\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003enumpy.loads\u003c/code\u003e was deprecated in v1.15, with the recommendation that\nusers use \u003ccode\u003epickle.loads\u003c/code\u003e instead. \u003ccode\u003endfromtxt\u003c/code\u003e and \u003ccode\u003emafromtxt\u003c/code\u003e were both\ndeprecated in v1.17 - users should use \u003ccode\u003enumpy.genfromtxt\u003c/code\u003e instead with\nthe appropriate value for the \u003ccode\u003eusemask\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19615\"\u003egh-19615\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/numpy/numpy/commit/4adc87dff15a247e417d50f10cc4def8e1c17a03\"\u003e\u003ccode\u003e4adc87d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20685\"\u003e#20685\u003c/a\u003e from charris/prepare-for-1.22.0-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fd66547557f57c430d41be2fc0764f74a62e8ccf\"\u003e\u003ccode\u003efd66547\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 1.22.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/125304b035effcd82e366e601b102e7347eaa9ba\"\u003e\u003ccode\u003e125304b\u003c/code\u003e\u003c/a\u003e wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c283859128b1a4b57014581570a23ed7950a24ea\"\u003e\u003ccode\u003ec283859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20682\"\u003e#20682\u003c/a\u003e from charris/backport-20416\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5399c03d4a069fe81a1616be0184c9749d7271ee\"\u003e\u003ccode\u003e5399c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20681\"\u003e#20681\u003c/a\u003e from charris/backport-20954\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f9c45f8ebf31340b1a5a0371bfca25afcfc4794e\"\u003e\u003ccode\u003ef9c45f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20680\"\u003e#20680\u003c/a\u003e from charris/backport-20663\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/794b36f7e1bf2a8c42774ab0db86a74bd32f674b\"\u003e\u003ccode\u003e794b36f\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d93b14e3d7abaa1d837825e51671f817788e120f\"\u003e\u003ccode\u003ed93b14e\u003c/code\u003e\u003c/a\u003e Update test_public_api.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7662c0789cc6a70d5ad4d950ee2e95f3afef7df6\"\u003e\u003ccode\u003e7662c07\u003c/code\u003e\u003c/a\u003e Update \u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/311ab52488a7d096ac3bc4c2de0fdae17ecd13ef\"\u003e\u003ccode\u003e311ab52\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.18.1...v1.22.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.22.0 to 2.32.4\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.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\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-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\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.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.0 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\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/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.22.0...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 3.6 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\u003c/p\u003e\n\u003ch2\u003ev6.5.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.5.0/CHANGES.html#id1\"\u003ev6.5.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.4.0.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.4.0/CHANGES.html#id1\"\u003ev6.4.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.3.0.\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.3.0/CHANGES.html#id1\"\u003ev6.3.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.2.0.\u003c/p\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.2.0/CHANGES.html#id1\"\u003ev6.2.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.1.0.\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/pyinstaller/pyinstaller/commit/7c5dcd97a7679c5f3b04c43a0aae0ffeabe7462b\"\u003e\u003ccode\u003e7c5dcd9\u003c/code\u003e\u003c/a\u003e Release v6.15.0. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/7c6eca9c0408300fe59fa5d01f1538edc44964ee\"\u003e\u003ccode\u003e7c6eca9\u003c/code\u003e\u003c/a\u003e bootloader: fix compile errors when building for 32-bit with MSVC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/31da65c9fc21ef5d7eb6a1e60b01b4cfd43ee8ea\"\u003e\u003ccode\u003e31da65c\u003c/code\u003e\u003c/a\u003e analysis: account for hook-excluded but externally-referenced subpackages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/d258b14bc4f09284dc4ebcf05a36de549c0359fb\"\u003e\u003ccode\u003ed258b14\u003c/code\u003e\u003c/a\u003e tests: add more subpackage exclusion tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42dd4584c917242d41fe3303afe89c7504aadc18\"\u003e\u003ccode\u003e42dd458\u003c/code\u003e\u003c/a\u003e analysis: module exclusion: fix module name construction for relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/39caee95cd8ef7f7b04fb0f2f6dfeded1423614a\"\u003e\u003ccode\u003e39caee9\u003c/code\u003e\u003c/a\u003e tests: add test for subpackage exclusion from top-level package hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/a194f0d7b2d02450ae54019d2202974c3b0feb5e\"\u003e\u003ccode\u003ea194f0d\u003c/code\u003e\u003c/a\u003e tests: run the module exclusion tests only in onedir mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/f2c42a3fa39e4ee9dba84e5a2d956256019992d0\"\u003e\u003ccode\u003ef2c42a3\u003c/code\u003e\u003c/a\u003e ci: enable CI with python 3.14-dev and 3.14t-dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42528d90d719fcbb88b850c57ede84e1854ae407\"\u003e\u003ccode\u003e42528d9\u003c/code\u003e\u003c/a\u003e bootloader: implement string conversion to UTF-8 for PEP 741 codepath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/0352806e7ed8a9c3515a214334763d375a57d931\"\u003e\u003ccode\u003e0352806\u003c/code\u003e\u003c/a\u003e bootloader: implement UTF8-naive PEP 741 configuration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller/compare/v3.6...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.18.1 to 1.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch1\u003eNumPy 1.22.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 1.22.0 is a big release featuring the work of 153 contributors\nspread over 609 pull requests. There have been many improvements,\nhighlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotations of the main namespace are essentially complete. Upstream\nis a moving target, so there will likely be further improvements,\nbut the major work is done. This is probably the most user visible\nenhancement in this release.\u003c/li\u003e\n\u003cli\u003eA preliminary version of the proposed Array-API is provided. This is\na step in creating a standard collection of functions that can be\nused across application such as CuPy and JAX.\u003c/li\u003e\n\u003cli\u003eNumPy now has a DLPack backend. DLPack provides a common interchange\nformat for array (tensor) data.\u003c/li\u003e\n\u003cli\u003eNew methods for \u003ccode\u003equantile\u003c/code\u003e, \u003ccode\u003epercentile\u003c/code\u003e, and related functions. The\nnew methods provide a complete set of the methods commonly found in\nthe literature.\u003c/li\u003e\n\u003cli\u003eA new configurable allocator for use by downstream projects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese are in addition to the ongoing work to provide SIMD support for\ncommonly used functions, improvements to F2PY, and better documentation.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported in this release are 3.8-3.10, Python 3.7\nhas been dropped. Note that 32 bit wheels are only provided for Python\n3.8 and 3.9 on Windows, all other wheels are 64 bits on account of\nUbuntu, Fedora, and other Linux distributions dropping 32 bit support.\nAll 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix\nthe occasional problems encountered by folks using truly huge arrays.\u003c/p\u003e\n\u003ch2\u003eExpired deprecations\u003c/h2\u003e\n\u003ch3\u003eDeprecated numeric style dtype strings have been removed\u003c/h3\u003e\n\u003cp\u003eUsing the strings \u003ccode\u003e\u0026quot;Bytes0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Datetime64\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Str0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Uint32\u0026quot;\u003c/code\u003e,\nand \u003ccode\u003e\u0026quot;Uint64\u0026quot;\u003c/code\u003e as a dtype will now raise a \u003ccode\u003eTypeError\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19539\"\u003egh-19539\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eExpired deprecations for \u003ccode\u003eloads\u003c/code\u003e, \u003ccode\u003endfromtxt\u003c/code\u003e, and \u003ccode\u003emafromtxt\u003c/code\u003e in npyio\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003enumpy.loads\u003c/code\u003e was deprecated in v1.15, with the recommendation that\nusers use \u003ccode\u003epickle.loads\u003c/code\u003e instead. \u003ccode\u003endfromtxt\u003c/code\u003e and \u003ccode\u003emafromtxt\u003c/code\u003e were both\ndeprecated in v1.17 - users should use \u003ccode\u003enumpy.genfromtxt\u003c/code\u003e instead with\nthe appropriate value for the \u003ccode\u003eusemask\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19615\"\u003egh-19615\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/numpy/numpy/commit/4adc87dff15a247e417d50f10cc4def8e1c17a03\"\u003e\u003ccode\u003e4adc87d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20685\"\u003e#20685\u003c/a\u003e from charris/prepare-for-1.22.0-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fd66547557f57c430d41be2fc0764f74a62e8ccf\"\u003e\u003ccode\u003efd66547\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 1.22.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/125304b035effcd82e366e601b102e7347eaa9ba\"\u003e\u003ccode\u003e125304b\u003c/code\u003e\u003c/a\u003e wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c283859128b1a4b57014581570a23ed7950a24ea\"\u003e\u003ccode\u003ec283859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20682\"\u003e#20682\u003c/a\u003e from charris/backport-20416\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5399c03d4a069fe81a1616be0184c9749d7271ee\"\u003e\u003ccode\u003e5399c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20681\"\u003e#20681\u003c/a\u003e from charris/backport-20954\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f9c45f8ebf31340b1a5a0371bfca25afcfc4794e\"\u003e\u003ccode\u003ef9c45f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20680\"\u003e#20680\u003c/a\u003e from charris/backport-20663\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/794b36f7e1bf2a8c42774ab0db86a74bd32f674b\"\u003e\u003ccode\u003e794b36f\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d93b14e3d7abaa1d837825e51671f817788e120f\"\u003e\u003ccode\u003ed93b14e\u003c/code\u003e\u003c/a\u003e Update test_public_api.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7662c0789cc6a70d5ad4d950ee2e95f3afef7df6\"\u003e\u003ccode\u003e7662c07\u003c/code\u003e\u003c/a\u003e Update \u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/311ab52488a7d096ac3bc4c2de0fdae17ecd13ef\"\u003e\u003ccode\u003e311ab52\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.18.1...v1.22.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.22.0 to 2.32.4\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.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\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-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\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.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.0 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\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/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.22.0...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 3.6 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\u003c/p\u003e\n\u003ch2\u003ev6.5.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.5.0/CHANGES.html#id1\"\u003ev6.5.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.4.0.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.4.0/CHANGES.html#id1\"\u003ev6.4.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.3.0.\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.3.0/CHANGES.html#id1\"\u003ev6.3.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.2.0.\u003c/p\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.2.0/CHANGES.html#id1\"\u003ev6.2.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.1.0.\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/pyinstaller/pyinstaller/commit/7c5dcd97a7679c5f3b04c43a0aae0ffeabe7462b\"\u003e\u003ccode\u003e7c5dcd9\u003c/code\u003e\u003c/a\u003e Release v6.15.0. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/7c6eca9c0408300fe59fa5d01f1538edc44964ee\"\u003e\u003ccode\u003e7c6eca9\u003c/code\u003e\u003c/a\u003e bootloader: fix compile errors when building for 32-bit with MSVC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/31da65c9fc21ef5d7eb6a1e60b01b4cfd43ee8ea\"\u003e\u003ccode\u003e31da65c\u003c/code\u003e\u003c/a\u003e analysis: account for hook-excluded but externally-referenced subpackages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/d258b14bc4f09284dc4ebcf05a36de549c0359fb\"\u003e\u003ccode\u003ed258b14\u003c/code\u003e\u003c/a\u003e tests: add more subpackage exclusion tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42dd4584c917242d41fe3303afe89c7504aadc18\"\u003e\u003ccode\u003e42dd458\u003c/code\u003e\u003c/a\u003e analysis: module exclusion: fix module name construction for relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/39caee95cd8ef7f7b04fb0f2f6dfeded1423614a\"\u003e\u003ccode\u003e39caee9\u003c/code\u003e\u003c/a\u003e tests: add test for subpackage exclusion from top-level package hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/a194f0d7b2d02450ae54019d2202974c3b0feb5e\"\u003e\u003ccode\u003ea194f0d\u003c/code\u003e\u003c/a\u003e tests: run the module exclusion tests only in onedir mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/f2c42a3fa39e4ee9dba84e5a2d956256019992d0\"\u003e\u003ccode\u003ef2c42a3\u003c/code\u003e\u003c/a\u003e ci: enable CI with python 3.14-dev and 3.14t-dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42528d90d719fcbb88b850c57ede84e1854ae407\"\u003e\u003ccode\u003e42528d9\u003c/code\u003e\u003c/a\u003e bootloader: implement string conversion to UTF-8 for PEP 741 codepath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/0352806e7ed8a9c3515a214334763d375a57d931\"\u003e\u003ccode\u003e0352806\u003c/code\u003e\u003c/a\u003e bootloader: implement UTF8-naive PEP 741 configuration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller/compare/v3.6...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/BYOBCommunity/BYOBCommunity/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/BYOBCommunity/BYOBCommunity/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BYOBCommunity%2FBYOBCommunity/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4068626827","node_id":"PR_kwDOQsBs9c7KPPFf","number":13,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-20T03:33:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-13T03:39:14.000Z","updated_at":"2026-03-20T03:33:40.000Z","time_to_close":604466,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":45,"packages":[{"name":"torchrl","old_version":"0.3.1","new_version":"0.10.1","repository_url":"https://github.com/pytorch/rl"},{"name":"tensordict","old_version":"0.3.1","new_version":"0.10.0","repository_url":"https://github.com/pytorch/tensordict"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"wandb","old_version":"0.24.1","new_version":"0.25.1","repository_url":"https://github.com/wandb/wandb"},{"name":"pyside6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"shiboken6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.0","new_version":"2026.3","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [torchrl](https://github.com/pytorch/rl), [tensordict](https://github.com/pytorch/tensordict), [rich](https://github.com/Textualize/rich), [tqdm](https://github.com/tqdm/tqdm), [cryptography](https://github.com/pyca/cryptography), [wandb](https://github.com/wandb/wandb), hexaly, [pyside6](https://pyside.org), [shiboken6](https://pyside.org), [plotly](https://github.com/plotly/plotly.py), [ray[tune]](https://github.com/ray-project/ray), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib), [setuptools](https://github.com/pypa/setuptools), [aiorwlock](https://github.com/aio-libs/aiorwlock), [blessed](https://github.com/jquast/blessed), [certifi](https://github.com/certifi/python-certifi), [charset-normalizer](https://github.com/jawah/charset_normalizer), [fastapi](https://github.com/fastapi/fastapi), [fastapi-cli](https://github.com/fastapi/fastapi-cli), [gmpy2](https://github.com/gmpy2/gmpy2), [google-api-core](https://github.com/googleapis/google-cloud-python), [google-auth](https://github.com/googleapis/google-auth-library-python), [googleapis-common-protos](https://github.com/googleapis/google-cloud-python), [greenlet](https://github.com/python-greenlet/greenlet), [grpcio](https://github.com/grpc/grpc), [mpmath](https://github.com/mpmath/mpmath), [narwhals](https://github.com/narwhals-dev/narwhals), [parso](https://github.com/davidhalter/parso), [pip](https://github.com/pypa/pip), [proto-plus](https://github.com/googleapis/proto-plus-python), [pydantic-core](https://github.com/pydantic/pydantic-core), [pytz](https://github.com/stub42/pytz), rich-toolkit, [sentry-sdk](https://github.com/getsentry/sentry-python), [smmap](https://github.com/gitpython-developers/smmap), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [tornado](https://github.com/tornadoweb/tornado), [typer](https://github.com/fastapi/typer), [typer-slim](https://github.com/fastapi/typer), [unicodedata2](https://github.com/fonttools/unicodedata2), [virtualenv](https://github.com/pypa/virtualenv), [wcwidth](https://github.com/jquast/wcwidth), [werkzeug](https://github.com/pallets/werkzeug) and [wrapt](https://github.com/GrahamDumpleton/wrapt) to permit the latest version.\nUpdates `torchrl` from 0.3.1 to 0.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/rl/releases\"\u003etorchrl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTorchRL 0.10.1: Fixes and named dimensions in composite specs\u003c/h2\u003e\n\u003ch1\u003eRelease Notes - v0.10.1\u003c/h1\u003e\n\u003cp\u003eThis patch release includes bug fixes, type annotation improvements, and CI enhancements cherry-picked from main.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3168\"\u003e#3168\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [BugFix] AttributeError in accept_remote_rref_udf_invocation\n\u003cul\u003e\n\u003cli\u003eFixed AttributeError in RPC utilities when decorating classes with remote RRef invocation by handling None values in getattr calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Feature] Named dims in Composite\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for named dimensions in Composite specs, enabling better integration with PyTorch's named tensors\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3214\"\u003e#3214\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/louisfaury\"\u003e\u003ccode\u003e@​louisfaury\u003c/code\u003e\u003c/a\u003e - [Feature] Composite specs can create named tensors with 'zero' and 'rand'\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExtended Composite specs to properly propagate names when creating tensors using \u003ccode\u003ezero()\u003c/code\u003e and \u003ccode\u003erand()\u003c/code\u003e methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType Annotations \u0026amp; Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Typing] Edit wrongfully set str type annotations\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect string type annotations across 19 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Versioning] Fix doc versioning\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed documentation versioning issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI/Build Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Use pip install\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated CI workflows to use pip install across 41 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix missing librhash0 in doc CI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing librhash0 dependency in documentation CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix benchmarks for LLMs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LLM benchmark CI configurations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Upgrade doc python version\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Python version in documentation build workflows and added vLLM plugin entry point for FP32 overrides\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTorchRL 0.10.0: async LLM inference\u003c/h2\u003e\n\u003ch1\u003eTorchRL 0.10.0 Release Notes\u003c/h1\u003e\n\u003ch2\u003eWhat's New in 0.10.0\u003c/h2\u003e\n\u003cp\u003eTorchRL 0.10.0 introduces significant advancements in Large Language Model (LLM) support, new algorithms, enhanced environment integrations, and numerous performance improvements and bug fixes.\u003c/p\u003e\n\u003ch2\u003eMajor Features\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/pytorch/rl/commit/a1ebe3cd31d12d7599fe1441ee12f1092a3ede3d\"\u003e\u003ccode\u003ea1ebe3c\u003c/code\u003e\u003c/a\u003e Versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/4a58d57125feb9c1103b3ecd3d102a11148a05f3\"\u003e\u003ccode\u003e4a58d57\u003c/code\u003e\u003c/a\u003e [Refactor] Make env creator optional for Ray\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/376a27dae2c704091dff531ec7da7a4311268d39\"\u003e\u003ccode\u003e376a27d\u003c/code\u003e\u003c/a\u003e [CI] Upgrade doc python version (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/530f772c3f2cdf2c5d0bfa13d45741b23889c256\"\u003e\u003ccode\u003e530f772\u003c/code\u003e\u003c/a\u003e [CI] Fix benchmarks for LLMs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/8d2ad899c10512f25749994cb05284f8a6e05c7f\"\u003e\u003ccode\u003e8d2ad89\u003c/code\u003e\u003c/a\u003e [Feature] Composite specs can create named tensors with 'zero' and 'rand' (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/3814305ad4a5d4688f0598e88da99068c986a393\"\u003e\u003ccode\u003e3814305\u003c/code\u003e\u003c/a\u003e [CI] Fix missing librhash0 in doc CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/471669dd8ef35a2d517572789101dbdcc71d05e6\"\u003e\u003ccode\u003e471669d\u003c/code\u003e\u003c/a\u003e [CI] Use pip install (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/92b4c93e7e51959e5b7dc051b94db03e607c47f8\"\u003e\u003ccode\u003e92b4c93\u003c/code\u003e\u003c/a\u003e [Typing] Edit wrongfully set str type annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/48dad307092ead6bfcf8c30e4c6c04b01b1a92d7\"\u003e\u003ccode\u003e48dad30\u003c/code\u003e\u003c/a\u003e [Feature] Named dims in Composite (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/35c76ac98b0ecc6fa6575bbe426a74db2bbb4951\"\u003e\u003ccode\u003e35c76ac\u003c/code\u003e\u003c/a\u003e [Versioning] Fix doc versioning (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/rl/compare/v0.3.1...v0.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tensordict` from 0.3.1 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/tensordict/releases\"\u003etensordict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTensorDict 0.10.0: MDS, type annotation and typed \u003ccode\u003eMetaData\u003c/code\u003e\u003c/h2\u003e\n\u003ch1\u003eTensorDict 0.10.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eWe are excited to announce the release of TensorDict 0.10.0! This release includes significant improvements to type annotations, new features for metadata handling, enhanced tensor operations, and numerous bug fixes that improve the overall stability and usability of the library.\u003c/p\u003e\n\u003ch2\u003e🎉 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTyped MetaData\u003c/strong\u003e: Complete rewrite of metadata handling with full type support (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTensorCollection Parent Class\u003c/strong\u003e: New parent class providing better type annotations and enhanced functionality (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEnhanced String Support\u003c/strong\u003e: \u003ccode\u003eto_struct_array\u003c/code\u003e now supports string data types (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Type Safety\u003c/strong\u003e: Comprehensive type annotation improvements across the entire codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBetter TensorClass Support\u003c/strong\u003e: Enhanced ClassVar support and super() functionality\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMDS data interface\u003c/strong\u003e: the \u003ccode\u003eto_mds\u003c/code\u003e method creates an MDS dataset on your favourite location -- no more painful columns definition etc (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for autograd's \u003ccode\u003egrad\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003ch3\u003eCore Functionality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e): Complete rewrite of metadata handling system with full type support, enabling better static analysis and runtime type checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] TensorCollection parent class and better type annotation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e): New parent class that provides enhanced type annotations and improved inheritance hierarchy\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] to_struct_array with strings\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e): Extended \u003ccode\u003eto_struct_array\u003c/code\u003e functionality to handle string data types\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] MDS dataset helper functions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e): New helper functions for working with MDS (Multi-Dimensional Scaling) datasets\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] implement tensor_split\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1386\"\u003e#1386\u003c/a\u003e): Added support for \u003ccode\u003etensor_split\u003c/code\u003e operation to match PyTorch tensor API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] accept cap-str as input to set_interaction_type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1387\"\u003e#1387\u003c/a\u003e): Enhanced flexibility in interaction type setting by accepting capitalized strings\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Allow in-place modification of lazy stacks\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1384\"\u003e#1384\u003c/a\u003e): Enabled in-place modifications for lazy stacked tensors, improving memory efficiency\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Ensure super() works with TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1381\"\u003e#1381\u003c/a\u003e): Fixed super() functionality in TensorClass inheritance chains\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Add \u003cstrong\u003eall\u003c/strong\u003e everywhere\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1389\"\u003e#1389\u003c/a\u003e): Added comprehensive \u003ccode\u003e__all__\u003c/code\u003e declarations across all modules for better IDE support and import control\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType System Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Typing] \u003ccode\u003e@overload\u003c/code\u003e for methods that have a reduce arg\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1427\"\u003e#1427\u003c/a\u003e): Added proper type overloads for methods with reduce parameters\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] A bunch of type annotation improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1409\"\u003e#1409\u003c/a\u003e): Comprehensive type annotation improvements across the codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better CompatibleType definition\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1404\"\u003e#1404\u003c/a\u003e): Enhanced type definitions for better compatibility checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Add _from_tensordict to TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1403\"\u003e#1403\u003c/a\u003e): Added internal method for TensorClass construction from TensorDict\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better type annotation for \u003ccode\u003e__getitem__\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1402\"\u003e#1402\u003c/a\u003e): Improved type annotations for indexing operations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCritical Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix stacking typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e): Fixed issues with stacking operations on typed metadata\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Call synchronization when using the td.to(\u0026quot;cpu\u0026quot;) operation on third-party devices\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1425\"\u003e#1425\u003c/a\u003e): Fixed potential precision issues when transferring tensors from third-party devices to CPU\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix missing _maybe_broadcast_other in base.py\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1422\"\u003e#1422\u003c/a\u003e): Fixed missing broadcast functionality in base operations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] lock_() consolidated tds to avoid overriding values\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1408\"\u003e#1408\u003c/a\u003e): Fixed value override issues in locked TensorDicts during consolidation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTensorClass Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Args for TC with ClassVar\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1401\"\u003e#1401\u003c/a\u003e): Fixed argument handling for TensorClass with ClassVar annotations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix ClassVar support in tensorclass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1398\"\u003e#1398\u003c/a\u003e): Enhanced ClassVar support in tensorclass decorator\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/c34264a58b12471dc3e2913ea586b32431872d4c\"\u003e\u003ccode\u003ec34264a\u003c/code\u003e\u003c/a\u003e release/0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/6139ec25aa84a7c781bb44b040a3f5a1ef59dc4a\"\u003e\u003ccode\u003e6139ec2\u003c/code\u003e\u003c/a\u003e [CI] Fix windows wheels versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/2c0794c9cae75594e16ee08a2872274fd4e69edc\"\u003e\u003ccode\u003e2c0794c\u003c/code\u003e\u003c/a\u003e [Feature] Support for \u003ccode\u003etorch.autograd.grad\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/835381120c6392c5cae4231372e4545717c45315\"\u003e\u003ccode\u003e8353811\u003c/code\u003e\u003c/a\u003e [CI] Better versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/648f522a38062bf690ec3a8fab16f6e5e5185015\"\u003e\u003ccode\u003e648f522\u003c/code\u003e\u003c/a\u003e [Doc,CI] Fix installation of the lib for releases in doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/8fc24c058fe158ea4d139116f599b760a864da7b\"\u003e\u003ccode\u003e8fc24c0\u003c/code\u003e\u003c/a\u003e [Doc] Fix doc errors (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/d12408fbb7e2a8e8a6dc8392e0703e4f7bf13a0b\"\u003e\u003ccode\u003ed12408f\u003c/code\u003e\u003c/a\u003e [Doc, CI] Fix Doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/255a0401b67f0ed8d21b7bda763973f0ec56f0bb\"\u003e\u003ccode\u003e255a040\u003c/code\u003e\u003c/a\u003e [BugFix] Fix stacking typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/466aa99ff2cd6659a16ae3a048a8bba62d5740ee\"\u003e\u003ccode\u003e466aa99\u003c/code\u003e\u003c/a\u003e [Feature] Typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/e9d84398926f87d3504fea68279de0dafc9ad78d\"\u003e\u003ccode\u003ee9d8439\u003c/code\u003e\u003c/a\u003e [Feature] MDS dataset helper functions (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/tensordict/compare/v0.3.1...v0.10.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.3.1 to 14.3.3\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 infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\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/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wandb` from 0.24.1 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wandb/wandb/releases\"\u003ewandb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.25.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun console logs pane in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003el\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11345\"\u003ewandb/wandb#11345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics pane in multi-run workspace mode in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003es\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics filtering in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003e\\\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArtifactType.collections()\u003c/code\u003e now supports filtering and ordering of collections. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11268\"\u003ewandb/wandb#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning message when \u003ccode\u003erun.log_artifact\u003c/code\u003e does not create a new version because the artifact content is identical to an existing version. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11340\"\u003ewandb/wandb#11340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProject.collections()\u003c/code\u003e to fetch filtered and ordered artifact collections in a project. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11319\"\u003ewandb/wandb#11319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb purge-cache\u003c/code\u003e command to clean up cached files (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/10996\"\u003ewandb/wandb#10996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a rare deadlock caused when GC triggers at an unlucky time and runs a \u003ccode\u003e__del__\u003c/code\u003e method that prints (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11402\"\u003ewandb/wandb#11402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eapi.Run.user\u003c/code\u003e raising \u003ccode\u003eAttributeError\u003c/code\u003e when accessing runs from an \u003ccode\u003eapi.Runs\u003c/code\u003e iteration (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11439\"\u003ewandb/wandb#11439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\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/wandb/wandb/blob/main/CHANGELOG.md\"\u003ewandb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.25.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun console logs pane in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003el\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11345\"\u003ewandb/wandb#11345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics pane in multi-run workspace mode in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003es\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics filtering in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003e\\\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArtifactType.collections()\u003c/code\u003e now supports filtering and ordering of collections. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11268\"\u003ewandb/wandb#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning message when \u003ccode\u003erun.log_artifact\u003c/code\u003e does not create a new version because the artifact content is identical to an existing version. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11340\"\u003ewandb/wandb#11340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProject.collections()\u003c/code\u003e to fetch filtered and ordered artifact collections in a project. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11319\"\u003ewandb/wandb#11319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb purge-cache\u003c/code\u003e command to clean up cached files (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/10996\"\u003ewandb/wandb#10996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a rare deadlock caused when GC triggers at an unlucky time and runs a \u003ccode\u003e__del__\u003c/code\u003e method that prints (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11402\"\u003ewandb/wandb#11402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eapi.Run.user\u003c/code\u003e raising \u003ccode\u003eAttributeError\u003c/code\u003e when accessing runs from an \u003ccode\u003eapi.Runs\u003c/code\u003e iteration (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11439\"\u003ewandb/wandb#11439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.25.0] - 2026-02-12\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.24.2] - 2026-02-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/commit/f35ff86e4cb490c7760090c69c5a6ae1120485d6\"\u003e\u003ccode\u003ef35ff86\u003c/code\u003e\u003c/a\u003e Bump version and update CHANGELOG for release 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/db0c863c08287f43b28936678ddcd96aef6a7fc0\"\u003e\u003ccode\u003edb0c863\u003c/code\u003e\u003c/a\u003e chore: use json_util in object3d to speed up serialization when using orjson ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9b5eb64f09a96f94879a8a526b19319cacd3ed4f\"\u003e\u003ccode\u003e9b5eb64\u003c/code\u003e\u003c/a\u003e chore: update Python requirements (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/aa464b2e4f079357e7bdf3a91437a1ab83fd0be1\"\u003e\u003ccode\u003eaa464b2\u003c/code\u003e\u003c/a\u003e chore: bump charm.land/bubbletea/v2 from 2.0.1 to 2.0.2 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11475\"\u003e#11475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/8c340503160501c9fdf355fa7112b4909ddf70d8\"\u003e\u003ccode\u003e8c34050\u003c/code\u003e\u003c/a\u003e chore: bump charm.land/lipgloss/v2 from 2.0.0 to 2.0.1 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11474\"\u003e#11474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/e0cca8963ab858799039885a8acff633722bec20\"\u003e\u003ccode\u003ee0cca89\u003c/code\u003e\u003c/a\u003e chore: bump google.golang.org/api from 0.269.0 to 0.270.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11473\"\u003e#11473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/b8115c9375462a951b7298a4134197d8b83c6b8a\"\u003e\u003ccode\u003eb8115c9\u003c/code\u003e\u003c/a\u003e chore: bump github.com/mattn/go-runewidth from 0.0.20 to 0.0.21 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11\"\u003e#11\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/4466ad050e80776c671d8c35d52407c1bdf976dd\"\u003e\u003ccode\u003e4466ad0\u003c/code\u003e\u003c/a\u003e chore: prevent test_wb_logging_last_resort from breaking due to warnings (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11\"\u003e#11\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/d134e4b984af038b644b779b980bcd104b0fe090\"\u003e\u003ccode\u003ed134e4b\u003c/code\u003e\u003c/a\u003e chore: bump golang.org/x/sync from 0.19.0 to 0.20.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11466\"\u003e#11466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9f0a9fc7d49855bd3ac846bb7fa893707e1bda7c\"\u003e\u003ccode\u003e9f0a9fc\u003c/code\u003e\u003c/a\u003e chore: bump golang.org/x/time from 0.14.0 to 0.15.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11465\"\u003e#11465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wandb/wandb/compare/v0.24.1...v0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hexaly` from 14.0.20251212 to  14.5.20260310\n\nUpdates `pyside6` from 6.10.1 to 6.10.2\n\nUpdates `shiboken6` from 6.10.1 to 6.10.2\n\nUpdates `plotly` from 6.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.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/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\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/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ray[tune]` to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ray-project/ray/releases\"\u003eray[tune]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRay-2.53.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRay plans to drop support for Pydantic V1 starting version 2.56.0. Please see \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58876\"\u003ethis RFC\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eRay Data now has support for bounded reading from Kafka and improved Iceberg support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRay Data\u003c/h2\u003e\n\u003cp\u003e🎉 New Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAutoscaling\u003c/strong\u003e: New utilization-based cluster autoscaler for Ray Data workloads (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59353\"\u003e#59353\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59362\"\u003e#59362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59366\"\u003e#59366\u003c/a\u003e). To use this new autoscaler set RAY_DATA_CLUSTER_AUTOSCALER=V2.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKafka Datasource\u003c/strong\u003e: Add Kafka as a native datasource for data ingestion (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58592\"\u003e#58592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDataset summary API\u003c/strong\u003e: Add \u003ccode\u003eDataset.summary()\u003c/code\u003e API for quick dataset inspection (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58862\"\u003e#58862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIceberg support\u003c/strong\u003e: Add Iceberg schema evolution, upsert, and overwrite support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59210\"\u003e#59210\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59335\"\u003e#59335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful error handling\u003c/strong\u003e: Add \u003ccode\u003eshould_continue_on_error\u003c/code\u003e for graceful error handling in batch inference (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59212\"\u003e#59212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDatetime compute expressions\u003c/strong\u003e: Add datetime compute expressions support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58740\"\u003e#58740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGrouped \u003ccode\u003ewith_column\u003c/code\u003e expressions\u003c/strong\u003e: Enable expressions for grouped \u003ccode\u003ewith_column\u003c/code\u003e in Ray Data (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58231\"\u003e#58231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParallelized collation\u003c/strong\u003e: Parallelize \u003ccode\u003eDefaultCollateFn\u003c/code\u003e, \u003ccode\u003earrow_batch_to_tensors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58821\"\u003e#58821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e💫 Enhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOptimized Autoscaler Step Size\u003c/strong\u003e: Optimize autoscaler to support configurable step size for actor pool scaling (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58726\"\u003e#58726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Streaming Repartition\u003c/strong\u003e: Improve streaming repartition performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58728\"\u003e#58728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActor init retry\u003c/strong\u003e: Add actor retry if there's a failure in \u003ccode\u003e__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59105\"\u003e#59105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFused Repartition + MapBatches\u003c/strong\u003e: Fuse StreamingRepartition with MapBatches operators to scale collate (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59108\"\u003e#59108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCombined repartitions\u003c/strong\u003e: Combine consecutive repartitions for efficiency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59145\"\u003e#59145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrefetch buffering\u003c/strong\u003e: Handle prefetch buffering in \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58657\"\u003e#58657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHashShuffle block breakdown\u003c/strong\u003e: \u003ccode\u003eHashShuffleAggregator\u003c/code\u003e breaks down blocks on finalize (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58603\"\u003e#58603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackpressure tuning\u003c/strong\u003e: Tune concurrency cap backpressure object store budget ratio (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58813\"\u003e#58813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNon-string ApproximateTopK\u003c/strong\u003e: Support non-string items for \u003ccode\u003eApproximateTopK\u003c/code\u003e aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58659\"\u003e#58659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLance version support\u003c/strong\u003e: Add version support to \u003ccode\u003eread_lance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58895\"\u003e#58895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDashboard metrics\u003c/strong\u003e: Add \u003ccode\u003etime_to_first_batch\u003c/code\u003e and \u003ccode\u003eget_ref_bundles\u003c/code\u003e metrics to data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58912\"\u003e#58912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIter prefetched bytes stats\u003c/strong\u003e: Add \u003ccode\u003eiter_prefetched_bytes\u003c/code\u003e statistics tracking (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58900\"\u003e#58900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable batching for \u003ccode\u003eiter_batches\u003c/code\u003e\u003c/strong\u003e: Add configurable batching for \u003ccode\u003eresolve_block_refs\u003c/code\u003e to speed up \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58467\"\u003e#58467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved dashboard metrics\u003c/strong\u003e: Improve Ray Data dashboard metrics display (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58667\"\u003e#58667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHistogram percentiles\u003c/strong\u003e: Update Ray Data histograms to show percentiles in data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58650\"\u003e#58650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated API removal\u003c/strong\u003e: Remove deprecated \u003ccode\u003eread_parquet_bulk\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58970\"\u003e#58970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBlock shaping option\u003c/strong\u003e: Add disable block shaping option to BlockOutputBuffer (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58757\"\u003e#58757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved concurrency lock\u003c/strong\u003e: Remove concurrency lock for better performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/56798\"\u003e#56798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔨 Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixes to Unique\u003c/strong\u003e: Fix support of list types for Unique aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58916\"\u003e#58916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParquet NaN fix\u003c/strong\u003e: Fix reading from written parquet for numpy with NaNs (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59172\"\u003e#59172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHash Shuffle empty block\u003c/strong\u003e: Fix empty block sort in hash shuffle operator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58836\"\u003e#58836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHive partitioning pushdown\u003c/strong\u003e: Fix pushdown optimizations with Hive partitioning (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58723\"\u003e#58723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObject Store usage reporting\u003c/strong\u003e: Fix \u003ccode\u003eobj_store_mem_max_pending_output_per_task\u003c/code\u003e reporting (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58864\"\u003e#58864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyarrow FileSystem serialization fix\u003c/strong\u003e: Handle filesystem serialization issue in \u003ccode\u003eget_parquet_dataset\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/57047\"\u003e#57047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAzure UC SAS\u003c/strong\u003e: Handle Azure UC user delegation SAS (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59393\"\u003e#59393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAsync UDF Thread Cleanup\u003c/strong\u003e: Close threads from async UDF after actor died (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59261\"\u003e#59261\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/ray-project/ray/commit/0de211850589aea71f842873bc32574c702ab492\"\u003e\u003ccode\u003e0de2118\u003c/code\u003e\u003c/a\u003e [Data] Concurrency cap backpressure with tuning (Disabled) (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59519\"\u003e#59519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/1736619b36ca2e48a9075daf65a7c66d281c66a7\"\u003e\u003ccode\u003e1736619\u003c/code\u003e\u003c/a\u003e [Data][Cherry-pick] Fix bug where \u003ccode\u003eAutoscalingCoordinator\u003c/code\u003e crashes if you req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/3332314b258b7bf679a502ac94711f8e770ed8ea\"\u003e\u003ccode\u003e3332314\u003c/code\u003e\u003c/a\u003e add missing cuda 12.9 ray-extra (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59495\"\u003e#59495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/b7d0c5b543415db693354778ca370095f256c185\"\u003e\u003ccode\u003eb7d0c5b\u003c/code\u003e\u003c/a\u003e change version to 2.53.0 (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59487\"\u003e#59487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/0ddb7eea6e84cad4b51dbdb5745164535e0a5e97\"\u003e\u003ccode\u003e0ddb7ee\u003c/code\u003e\u003c/a\u003e [core][rdt] Enable nixl for RDT Microbenchmarks (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59291\"\u003e#59291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/31a0e1eb74cec8e5f0541cd70ec60ed9057eeb22\"\u003e\u003ccode\u003e31a0e1e\u003c/code\u003e\u003c/a\u003e [Serve][3/n] Add router queue latency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59233\"\u003e#59233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/22cda946375db60517c7da7b57b6fd16a029160f\"\u003e\u003ccode\u003e22cda94\u003c/code\u003e\u003c/a\u003e [train] removes single python ml build (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59465\"\u003e#59465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/8d9a15f9397e9dce622710ce9156d6306b77abac\"\u003e\u003ccode\u003e8d9a15f\u003c/code\u003e\u003c/a\u003e [core] Revert server CreateCall creation change \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/55904\"\u003e#55904\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59448\"\u003e#59448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/694e6fd68c4d2c4558c91cd278b379b77098a5a9\"\u003e\u003ccode\u003e694e6fd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[Data] Fix DataContext deserialization issue with StatsActor\u0026quot; (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59458\"\u003e#59458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/e0049dcee72cd2865ba1405a85382d284a3a010c\"\u003e\u003ccode\u003ee0049dc\u003c/code\u003e\u003c/a\u003e [docs/data] Add \u003ccode\u003edownload\u003c/code\u003e to key user journeys in documentation (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59417\"\u003e#59417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ray-project/ray/compare/ray-2.7.0...ray-2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pyinstaller-hooks-contrib` from 2026.0 to 2026.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/releases\"\u003epyinstaller-hooks-contrib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2026.3\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.3/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.2/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.1/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more 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/pyinstaller/pyinstaller-hooks-contrib/blob/master/CHANGELOG.rst\"\u003epyinstaller-hooks-contrib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.3 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``chardet``, required for compatibility with ``chardet`` v7.0.0\n  and later. (`[#995](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995\u0026gt;`_)\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003echarset_normalizer\u003c/code\u003e hook for compatibility with\n\u003ccode\u003echarset-normalizer\u003c/code\u003e v3.4.5. (\u003ccode\u003e[#995](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003epsutil\u003c/code\u003e hook for compatibility with \u003ccode\u003epsutil\u003c/code\u003e installed in\na Termux environment with python 3.13 or later. (\u003ccode\u003e[#996](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/996) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/996\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2026.2 (2026-03-02)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``adbc_driver_manager`` package. (`[#990](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\u0026gt;`_)\n* Add hook for ``rich`` to ensure that modules from ``rich._unicode_data``\n  are collected for ``rich`` v14.3.0 and later. (`[#991](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991\u0026gt;`_)\n\u003ch2\u003e2026.1 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003elangchain\u003c/code\u003e hook for compatibility with \u003ccode\u003elangchain\u003c/code\u003e 1.2.10. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003evtkmodules\u003c/code\u003e hooks for compatibility with \u003ccode\u003evtk\u003c/code\u003e 9.6.0. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/27e0ba1940d35cce6a67a74034874edab084d000\"\u003e\u003ccode\u003e27e0ba1\u003c/code\u003e\u003c/a\u003e Release v2026.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/21bb45b4e54335cb9d95abce9be2b7bf10d1e5b1\"\u003e\u003ccode\u003e21bb45b\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 10 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/37bd32ad5c22ee70f824153dd6a6e79e44c5cbb8\"\u003e\u003ccode\u003e37bd32a\u003c/code\u003e\u003c/a\u003e hooks: update psutil hook for compatibility with Termux python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e327d75e53d0d6466e282b5aaf2eae93417894b2\"\u003e\u003ccode\u003ee327d75\u003c/code\u003e\u003c/a\u003e hooks: update charset_normalizer hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/b79a3716f25137f049a643144ca8f2909a9886a6\"\u003e\u003ccode\u003eb79a371\u003c/code\u003e\u003c/a\u003e hooks: add hook for chardet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e6a1b4ae004cd4254af35697abc4ed89c12ff84e\"\u003e\u003ccode\u003ee6a1b4a\u003c/code\u003e\u003c/a\u003e Release v2026.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/0c3a814fb0a38f0d28d3b26f77935148657c21cc\"\u003e\u003ccode\u003e0c3a814\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 09 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://git...\n\n_Description has been truncated_","html_url":"https://github.com/ACFHarbinger/WSmartPlus-Route/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ACFHarbinger%2FWSmartPlus-Route/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4032029370","node_id":"PR_kwDOQsBs9c7IY8TQ","number":12,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 40 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-13T03:36:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T03:39:09.000Z","updated_at":"2026-03-13T03:36:27.000Z","time_to_close":604638,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":40,"packages":[{"name":"torchrl","old_version":"0.3.1","new_version":"0.10.1","repository_url":"https://github.com/pytorch/rl"},{"name":"tensordict","old_version":"0.3.1","new_version":"0.10.0","repository_url":"https://github.com/pytorch/tensordict"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"wandb","old_version":"0.24.1","new_version":"0.25.0","repository_url":"https://github.com/wandb/wandb"},{"name":"pyside6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"shiboken6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.0","new_version":"2026.2","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"},{"name":"setuptools","old_version":"80.10.2","new_version":"82.0.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"aiorwlock","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/aio-libs/aiorwlock"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [torchrl](https://github.com/pytorch/rl), [tensordict](https://github.com/pytorch/tensordict), [rich](https://github.com/Textualize/rich), [tqdm](https://github.com/tqdm/tqdm), [cryptography](https://github.com/pyca/cryptography), [wandb](https://github.com/wandb/wandb), hexaly, [pyside6](https://pyside.org), [shiboken6](https://pyside.org), [plotly](https://github.com/plotly/plotly.py), [ray[tune]](https://github.com/ray-project/ray), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib), [setuptools](https://github.com/pypa/setuptools), [aiorwlock](https://github.com/aio-libs/aiorwlock), [blessed](https://github.com/jquast/blessed), [certifi](https://github.com/certifi/python-certifi), [fastapi](https://github.com/fastapi/fastapi), [fastapi-cli](https://github.com/fastapi/fastapi-cli), [gmpy2](https://github.com/gmpy2/gmpy2), [google-api-core](https://github.com/googleapis/google-cloud-python), [greenlet](https://github.com/python-greenlet/greenlet), [grpcio](https://github.com/grpc/grpc), [mpmath](https://github.com/mpmath/mpmath), [narwhals](https://github.com/narwhals-dev/narwhals), [parso](https://github.com/davidhalter/parso), [pip](https://github.com/pypa/pip), [proto-plus](https://github.com/googleapis/proto-plus-python), [pydantic-core](https://github.com/pydantic/pydantic-core), [pytz](https://github.com/stub42/pytz), rich-toolkit, [sentry-sdk](https://github.com/getsentry/sentry-python), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [typer](https://github.com/fastapi/typer), [typer-slim](https://github.com/fastapi/typer), [unicodedata2](https://github.com/fonttools/unicodedata2), [virtualenv](https://github.com/pypa/virtualenv), [wcwidth](https://github.com/jquast/wcwidth), [werkzeug](https://github.com/pallets/werkzeug) and [wrapt](https://github.com/GrahamDumpleton/wrapt) to permit the latest version.\nUpdates `torchrl` from 0.3.1 to 0.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/rl/releases\"\u003etorchrl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTorchRL 0.10.1: Fixes and named dimensions in composite specs\u003c/h2\u003e\n\u003ch1\u003eRelease Notes - v0.10.1\u003c/h1\u003e\n\u003cp\u003eThis patch release includes bug fixes, type annotation improvements, and CI enhancements cherry-picked from main.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3168\"\u003e#3168\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [BugFix] AttributeError in accept_remote_rref_udf_invocation\n\u003cul\u003e\n\u003cli\u003eFixed AttributeError in RPC utilities when decorating classes with remote RRef invocation by handling None values in getattr calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Feature] Named dims in Composite\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for named dimensions in Composite specs, enabling better integration with PyTorch's named tensors\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3214\"\u003e#3214\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/louisfaury\"\u003e\u003ccode\u003e@​louisfaury\u003c/code\u003e\u003c/a\u003e - [Feature] Composite specs can create named tensors with 'zero' and 'rand'\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExtended Composite specs to properly propagate names when creating tensors using \u003ccode\u003ezero()\u003c/code\u003e and \u003ccode\u003erand()\u003c/code\u003e methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType Annotations \u0026amp; Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Typing] Edit wrongfully set str type annotations\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect string type annotations across 19 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Versioning] Fix doc versioning\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed documentation versioning issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI/Build Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Use pip install\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated CI workflows to use pip install across 41 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix missing librhash0 in doc CI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing librhash0 dependency in documentation CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix benchmarks for LLMs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LLM benchmark CI configurations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Upgrade doc python version\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Python version in documentation build workflows and added vLLM plugin entry point for FP32 overrides\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTorchRL 0.10.0: async LLM inference\u003c/h2\u003e\n\u003ch1\u003eTorchRL 0.10.0 Release Notes\u003c/h1\u003e\n\u003ch2\u003eWhat's New in 0.10.0\u003c/h2\u003e\n\u003cp\u003eTorchRL 0.10.0 introduces significant advancements in Large Language Model (LLM) support, new algorithms, enhanced environment integrations, and numerous performance improvements and bug fixes.\u003c/p\u003e\n\u003ch2\u003eMajor Features\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/pytorch/rl/commit/a1ebe3cd31d12d7599fe1441ee12f1092a3ede3d\"\u003e\u003ccode\u003ea1ebe3c\u003c/code\u003e\u003c/a\u003e Versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/4a58d57125feb9c1103b3ecd3d102a11148a05f3\"\u003e\u003ccode\u003e4a58d57\u003c/code\u003e\u003c/a\u003e [Refactor] Make env creator optional for Ray\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/376a27dae2c704091dff531ec7da7a4311268d39\"\u003e\u003ccode\u003e376a27d\u003c/code\u003e\u003c/a\u003e [CI] Upgrade doc python version (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/530f772c3f2cdf2c5d0bfa13d45741b23889c256\"\u003e\u003ccode\u003e530f772\u003c/code\u003e\u003c/a\u003e [CI] Fix benchmarks for LLMs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/8d2ad899c10512f25749994cb05284f8a6e05c7f\"\u003e\u003ccode\u003e8d2ad89\u003c/code\u003e\u003c/a\u003e [Feature] Composite specs can create named tensors with 'zero' and 'rand' (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/3814305ad4a5d4688f0598e88da99068c986a393\"\u003e\u003ccode\u003e3814305\u003c/code\u003e\u003c/a\u003e [CI] Fix missing librhash0 in doc CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/471669dd8ef35a2d517572789101dbdcc71d05e6\"\u003e\u003ccode\u003e471669d\u003c/code\u003e\u003c/a\u003e [CI] Use pip install (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/92b4c93e7e51959e5b7dc051b94db03e607c47f8\"\u003e\u003ccode\u003e92b4c93\u003c/code\u003e\u003c/a\u003e [Typing] Edit wrongfully set str type annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/48dad307092ead6bfcf8c30e4c6c04b01b1a92d7\"\u003e\u003ccode\u003e48dad30\u003c/code\u003e\u003c/a\u003e [Feature] Named dims in Composite (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/35c76ac98b0ecc6fa6575bbe426a74db2bbb4951\"\u003e\u003ccode\u003e35c76ac\u003c/code\u003e\u003c/a\u003e [Versioning] Fix doc versioning (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/rl/compare/v0.3.1...v0.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tensordict` from 0.3.1 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/tensordict/releases\"\u003etensordict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTensorDict 0.10.0: MDS, type annotation and typed \u003ccode\u003eMetaData\u003c/code\u003e\u003c/h2\u003e\n\u003ch1\u003eTensorDict 0.10.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eWe are excited to announce the release of TensorDict 0.10.0! This release includes significant improvements to type annotations, new features for metadata handling, enhanced tensor operations, and numerous bug fixes that improve the overall stability and usability of the library.\u003c/p\u003e\n\u003ch2\u003e🎉 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTyped MetaData\u003c/strong\u003e: Complete rewrite of metadata handling with full type support (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTensorCollection Parent Class\u003c/strong\u003e: New parent class providing better type annotations and enhanced functionality (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEnhanced String Support\u003c/strong\u003e: \u003ccode\u003eto_struct_array\u003c/code\u003e now supports string data types (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Type Safety\u003c/strong\u003e: Comprehensive type annotation improvements across the entire codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBetter TensorClass Support\u003c/strong\u003e: Enhanced ClassVar support and super() functionality\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMDS data interface\u003c/strong\u003e: the \u003ccode\u003eto_mds\u003c/code\u003e method creates an MDS dataset on your favourite location -- no more painful columns definition etc (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for autograd's \u003ccode\u003egrad\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003ch3\u003eCore Functionality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e): Complete rewrite of metadata handling system with full type support, enabling better static analysis and runtime type checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] TensorCollection parent class and better type annotation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e): New parent class that provides enhanced type annotations and improved inheritance hierarchy\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] to_struct_array with strings\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e): Extended \u003ccode\u003eto_struct_array\u003c/code\u003e functionality to handle string data types\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] MDS dataset helper functions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e): New helper functions for working with MDS (Multi-Dimensional Scaling) datasets\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] implement tensor_split\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1386\"\u003e#1386\u003c/a\u003e): Added support for \u003ccode\u003etensor_split\u003c/code\u003e operation to match PyTorch tensor API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] accept cap-str as input to set_interaction_type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1387\"\u003e#1387\u003c/a\u003e): Enhanced flexibility in interaction type setting by accepting capitalized strings\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Allow in-place modification of lazy stacks\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1384\"\u003e#1384\u003c/a\u003e): Enabled in-place modifications for lazy stacked tensors, improving memory efficiency\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Ensure super() works with TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1381\"\u003e#1381\u003c/a\u003e): Fixed super() functionality in TensorClass inheritance chains\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Add \u003cstrong\u003eall\u003c/strong\u003e everywhere\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1389\"\u003e#1389\u003c/a\u003e): Added comprehensive \u003ccode\u003e__all__\u003c/code\u003e declarations across all modules for better IDE support and import control\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType System Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Typing] \u003ccode\u003e@overload\u003c/code\u003e for methods that have a reduce arg\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1427\"\u003e#1427\u003c/a\u003e): Added proper type overloads for methods with reduce parameters\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] A bunch of type annotation improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1409\"\u003e#1409\u003c/a\u003e): Comprehensive type annotation improvements across the codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better CompatibleType definition\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1404\"\u003e#1404\u003c/a\u003e): Enhanced type definitions for better compatibility checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Add _from_tensordict to TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1403\"\u003e#1403\u003c/a\u003e): Added internal method for TensorClass construction from TensorDict\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better type annotation for \u003ccode\u003e__getitem__\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1402\"\u003e#1402\u003c/a\u003e): Improved type annotations for indexing operations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCritical Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix stacking typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e): Fixed issues with stacking operations on typed metadata\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Call synchronization when using the td.to(\u0026quot;cpu\u0026quot;) operation on third-party devices\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1425\"\u003e#1425\u003c/a\u003e): Fixed potential precision issues when transferring tensors from third-party devices to CPU\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix missing _maybe_broadcast_other in base.py\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1422\"\u003e#1422\u003c/a\u003e): Fixed missing broadcast functionality in base operations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] lock_() consolidated tds to avoid overriding values\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1408\"\u003e#1408\u003c/a\u003e): Fixed value override issues in locked TensorDicts during consolidation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTensorClass Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Args for TC with ClassVar\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1401\"\u003e#1401\u003c/a\u003e): Fixed argument handling for TensorClass with ClassVar annotations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix ClassVar support in tensorclass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1398\"\u003e#1398\u003c/a\u003e): Enhanced ClassVar support in tensorclass decorator\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/c34264a58b12471dc3e2913ea586b32431872d4c\"\u003e\u003ccode\u003ec34264a\u003c/code\u003e\u003c/a\u003e release/0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/6139ec25aa84a7c781bb44b040a3f5a1ef59dc4a\"\u003e\u003ccode\u003e6139ec2\u003c/code\u003e\u003c/a\u003e [CI] Fix windows wheels versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/2c0794c9cae75594e16ee08a2872274fd4e69edc\"\u003e\u003ccode\u003e2c0794c\u003c/code\u003e\u003c/a\u003e [Feature] Support for \u003ccode\u003etorch.autograd.grad\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/835381120c6392c5cae4231372e4545717c45315\"\u003e\u003ccode\u003e8353811\u003c/code\u003e\u003c/a\u003e [CI] Better versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/648f522a38062bf690ec3a8fab16f6e5e5185015\"\u003e\u003ccode\u003e648f522\u003c/code\u003e\u003c/a\u003e [Doc,CI] Fix installation of the lib for releases in doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/8fc24c058fe158ea4d139116f599b760a864da7b\"\u003e\u003ccode\u003e8fc24c0\u003c/code\u003e\u003c/a\u003e [Doc] Fix doc errors (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/d12408fbb7e2a8e8a6dc8392e0703e4f7bf13a0b\"\u003e\u003ccode\u003ed12408f\u003c/code\u003e\u003c/a\u003e [Doc, CI] Fix Doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/255a0401b67f0ed8d21b7bda763973f0ec56f0bb\"\u003e\u003ccode\u003e255a040\u003c/code\u003e\u003c/a\u003e [BugFix] Fix stacking typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/466aa99ff2cd6659a16ae3a048a8bba62d5740ee\"\u003e\u003ccode\u003e466aa99\u003c/code\u003e\u003c/a\u003e [Feature] Typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/e9d84398926f87d3504fea68279de0dafc9ad78d\"\u003e\u003ccode\u003ee9d8439\u003c/code\u003e\u003c/a\u003e [Feature] MDS dataset helper functions (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/tensordict/compare/v0.3.1...v0.10.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.3.1 to 14.3.3\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 infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\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/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wandb` from 0.24.1 to 0.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wandb/wandb/releases\"\u003ewandb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/blob/main/CHANGELOG.md\"\u003ewandb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.25.0] - 2026-02-12\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.24.2] - 2026-02-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/commit/317d48ce3a0e1e588de0b5826a8a208d5179a901\"\u003e\u003ccode\u003e317d48c\u003c/code\u003e\u003c/a\u003e Bump version and update CHANGELOG for release 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9bdb12ba6f61d57f9ceb834a0e85e13848d5f487\"\u003e\u003ccode\u003e9bdb12b\u003c/code\u003e\u003c/a\u003e fix: tensorboard stopping reading files after the first megabyte (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11334\"\u003e#11334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/36548d8103d8b09446e338b5d9451977de14a636\"\u003e\u003ccode\u003e36548d8\u003c/code\u003e\u003c/a\u003e chore: update coverage[toml] requirement from ~=7.6 to ~=7.10 (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11305\"\u003e#11305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/cf8a15607378b2ec66a0fe0664bb30ae783e767f\"\u003e\u003ccode\u003ecf8a156\u003c/code\u003e\u003c/a\u003e chore: bump go version to 1.25.7 (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11335\"\u003e#11335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/e2d30da323abfb4f9e928c8860231c0a0d57a532\"\u003e\u003ccode\u003ee2d30da\u003c/code\u003e\u003c/a\u003e feat(leet): interactive config editor (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11327\"\u003e#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/faa6d7cf3b170261d92f576977ba3a9302d8a6b3\"\u003e\u003ccode\u003efaa6d7c\u003c/code\u003e\u003c/a\u003e refactor: simplify sentry handling in logging.go (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11331\"\u003e#11331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/08d855eb77c2aec71f7d17ad41595f5b3fbf6f79\"\u003e\u003ccode\u003e08d855e\u003c/code\u003e\u003c/a\u003e fix(sdk): skip list length constraints in pydantic v1 validation (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11330\"\u003e#11330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/19b63677fcefc83b015c2e9e46e8eb55a06ae085\"\u003e\u003ccode\u003e19b6367\u003c/code\u003e\u003c/a\u003e refactor: move Sentry capture rate-limiting to CoreLogger (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/220a522747b384a012faeb396a4cbdb4c0427d5a\"\u003e\u003ccode\u003e220a522\u003c/code\u003e\u003c/a\u003e chore(leet): changelog entry for multi-run workspace experience (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11325\"\u003e#11325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/daea9d9ff05f5e8a107201dee1d3f3b299d80721\"\u003e\u003ccode\u003edaea9d9\u003c/code\u003e\u003c/a\u003e feat(leet): multi-run workspace (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11299\"\u003e#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wandb/wandb/compare/v0.24.1...v0.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hexaly` from 14.0.20251212 to  14.5.20260220\n\nUpdates `pyside6` from 6.10.1 to 6.10.2\n\nUpdates `shiboken6` from 6.10.1 to 6.10.2\n\nUpdates `plotly` from 6.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.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/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\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/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ray[tune]` to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ray-project/ray/releases\"\u003eray[tune]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRay-2.53.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRay plans to drop support for Pydantic V1 starting version 2.56.0. Please see \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58876\"\u003ethis RFC\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eRay Data now has support for bounded reading from Kafka and improved Iceberg support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRay Data\u003c/h2\u003e\n\u003cp\u003e🎉 New Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAutoscaling\u003c/strong\u003e: New utilization-based cluster autoscaler for Ray Data workloads (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59353\"\u003e#59353\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59362\"\u003e#59362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59366\"\u003e#59366\u003c/a\u003e). To use this new autoscaler set RAY_DATA_CLUSTER_AUTOSCALER=V2.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKafka Datasource\u003c/strong\u003e: Add Kafka as a native datasource for data ingestion (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58592\"\u003e#58592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDataset summary API\u003c/strong\u003e: Add \u003ccode\u003eDataset.summary()\u003c/code\u003e API for quick dataset inspection (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58862\"\u003e#58862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIceberg support\u003c/strong\u003e: Add Iceberg schema evolution, upsert, and overwrite support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59210\"\u003e#59210\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59335\"\u003e#59335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful error handling\u003c/strong\u003e: Add \u003ccode\u003eshould_continue_on_error\u003c/code\u003e for graceful error handling in batch inference (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59212\"\u003e#59212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDatetime compute expressions\u003c/strong\u003e: Add datetime compute expressions support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58740\"\u003e#58740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGrouped \u003ccode\u003ewith_column\u003c/code\u003e expressions\u003c/strong\u003e: Enable expressions for grouped \u003ccode\u003ewith_column\u003c/code\u003e in Ray Data (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58231\"\u003e#58231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParallelized collation\u003c/strong\u003e: Parallelize \u003ccode\u003eDefaultCollateFn\u003c/code\u003e, \u003ccode\u003earrow_batch_to_tensors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58821\"\u003e#58821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e💫 Enhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOptimized Autoscaler Step Size\u003c/strong\u003e: Optimize autoscaler to support configurable step size for actor pool scaling (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58726\"\u003e#58726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Streaming Repartition\u003c/strong\u003e: Improve streaming repartition performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58728\"\u003e#58728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActor init retry\u003c/strong\u003e: Add actor retry if there's a failure in \u003ccode\u003e__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59105\"\u003e#59105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFused Repartition + MapBatches\u003c/strong\u003e: Fuse StreamingRepartition with MapBatches operators to scale collate (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59108\"\u003e#59108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCombined repartitions\u003c/strong\u003e: Combine consecutive repartitions for efficiency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59145\"\u003e#59145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrefetch buffering\u003c/strong\u003e: Handle prefetch buffering in \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58657\"\u003e#58657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHashShuffle block breakdown\u003c/strong\u003e: \u003ccode\u003eHashShuffleAggregator\u003c/code\u003e breaks down blocks on finalize (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58603\"\u003e#58603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackpressure tuning\u003c/strong\u003e: Tune concurrency cap backpressure object store budget ratio (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58813\"\u003e#58813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNon-string ApproximateTopK\u003c/strong\u003e: Support non-string items for \u003ccode\u003eApproximateTopK\u003c/code\u003e aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58659\"\u003e#58659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLance version support\u003c/strong\u003e: Add version support to \u003ccode\u003eread_lance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58895\"\u003e#58895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDashboard metrics\u003c/strong\u003e: Add \u003ccode\u003etime_to_first_batch\u003c/code\u003e and \u003ccode\u003eget_ref_bundles\u003c/code\u003e metrics to data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58912\"\u003e#58912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIter prefetched bytes stats\u003c/strong\u003e: Add \u003ccode\u003eiter_prefetched_bytes\u003c/code\u003e statistics tracking (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58900\"\u003e#58900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable batching for \u003ccode\u003eiter_batches\u003c/code\u003e\u003c/strong\u003e: Add configurable batching for \u003ccode\u003eresolve_block_refs\u003c/code\u003e to speed up \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58467\"\u003e#58467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved dashboard metrics\u003c/strong\u003e: Improve Ray Data dashboard metrics display (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58667\"\u003e#58667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHistogram percentiles\u003c/strong\u003e: Update Ray Data histograms to show percentiles in data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58650\"\u003e#58650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated API removal\u003c/strong\u003e: Remove deprecated \u003ccode\u003eread_parquet_bulk\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58970\"\u003e#58970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBlock shaping option\u003c/strong\u003e: Add disable block shaping option to BlockOutputBuffer (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58757\"\u003e#58757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved concurrency lock\u003c/strong\u003e: Remove concurrency lock for better performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/56798\"\u003e#56798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔨 Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixes to Unique\u003c/strong\u003e: Fix support of list types for Unique aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58916\"\u003e#58916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParquet NaN fix\u003c/strong\u003e: Fix reading from written parquet for numpy with NaNs (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59172\"\u003e#59172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHash Shuffle empty block\u003c/strong\u003e: Fix empty block sort in hash shuffle operator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58836\"\u003e#58836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHive partitioning pushdown\u003c/strong\u003e: Fix pushdown optimizations with Hive partitioning (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58723\"\u003e#58723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObject Store usage reporting\u003c/strong\u003e: Fix \u003ccode\u003eobj_store_mem_max_pending_output_per_task\u003c/code\u003e reporting (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58864\"\u003e#58864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyarrow FileSystem serialization fix\u003c/strong\u003e: Handle filesystem serialization issue in \u003ccode\u003eget_parquet_dataset\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/57047\"\u003e#57047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAzure UC SAS\u003c/strong\u003e: Handle Azure UC user delegation SAS (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59393\"\u003e#59393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAsync UDF Thread Cleanup\u003c/strong\u003e: Close threads from async UDF after actor died (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59261\"\u003e#59261\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/ray-project/ray/commit/0de211850589aea71f842873bc32574c702ab492\"\u003e\u003ccode\u003e0de2118\u003c/code\u003e\u003c/a\u003e [Data] Concurrency cap backpressure with tuning (Disabled) (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59519\"\u003e#59519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/1736619b36ca2e48a9075daf65a7c66d281c66a7\"\u003e\u003ccode\u003e1736619\u003c/code\u003e\u003c/a\u003e [Data][Cherry-pick] Fix bug where \u003ccode\u003eAutoscalingCoordinator\u003c/code\u003e crashes if you req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/3332314b258b7bf679a502ac94711f8e770ed8ea\"\u003e\u003ccode\u003e3332314\u003c/code\u003e\u003c/a\u003e add missing cuda 12.9 ray-extra (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59495\"\u003e#59495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/b7d0c5b543415db693354778ca370095f256c185\"\u003e\u003ccode\u003eb7d0c5b\u003c/code\u003e\u003c/a\u003e change version to 2.53.0 (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59487\"\u003e#59487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/0ddb7eea6e84cad4b51dbdb5745164535e0a5e97\"\u003e\u003ccode\u003e0ddb7ee\u003c/code\u003e\u003c/a\u003e [core][rdt] Enable nixl for RDT Microbenchmarks (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59291\"\u003e#59291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/31a0e1eb74cec8e5f0541cd70ec60ed9057eeb22\"\u003e\u003ccode\u003e31a0e1e\u003c/code\u003e\u003c/a\u003e [Serve][3/n] Add router queue latency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59233\"\u003e#59233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/22cda946375db60517c7da7b57b6fd16a029160f\"\u003e\u003ccode\u003e22cda94\u003c/code\u003e\u003c/a\u003e [train] removes single python ml build (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59465\"\u003e#59465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/8d9a15f9397e9dce622710ce9156d6306b77abac\"\u003e\u003ccode\u003e8d9a15f\u003c/code\u003e\u003c/a\u003e [core] Revert server CreateCall creation change \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/55904\"\u003e#55904\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59448\"\u003e#59448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/694e6fd68c4d2c4558c91cd278b379b77098a5a9\"\u003e\u003ccode\u003e694e6fd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[Data] Fix DataContext deserialization issue with StatsActor\u0026quot; (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59458\"\u003e#59458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/e0049dcee72cd2865ba1405a85382d284a3a010c\"\u003e\u003ccode\u003ee0049dc\u003c/code\u003e\u003c/a\u003e [docs/data] Add \u003ccode\u003edownload\u003c/code\u003e to key user journeys in documentation (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59417\"\u003e#59417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ray-project/ray/compare/ray-2.7.0...ray-2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pyinstaller-hooks-contrib` from 2026.0 to 2026.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/releases\"\u003epyinstaller-hooks-contrib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2026.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.2/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.1/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more 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/pyinstaller/pyinstaller-hooks-contrib/blob/master/CHANGELOG.rst\"\u003epyinstaller-hooks-contrib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.2 (2026-03-02)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``adbc_driver_manager`` package. (`[#990](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\u0026gt;`_)\n* Add hook for ``rich`` to ensure that modules from ``rich._unicode_data``\n  are collected for ``rich`` v14.3.0 and later. (`[#991](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991\u0026gt;`_)\n\u003ch2\u003e2026.1 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003elangchain\u003c/code\u003e hook for compatibility with \u003ccode\u003elangchain\u003c/code\u003e 1.2.10. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003evtkmodules\u003c/code\u003e hooks for compatibility with \u003ccode\u003evtk\u003c/code\u003e 9.6.0. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e6a1b4ae004cd4254af35697abc4ed89c12ff84e\"\u003e\u003ccode\u003ee6a1b4a\u003c/code\u003e\u003c/a\u003e Release v2026.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/0c3a814fb0a38f0d28d3b26f77935148657c21cc\"\u003e\u003ccode\u003e0c3a814\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 09 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/71cc07484a5e041e34230b38deb6cd3505ed223f\"\u003e\u003ccode\u003e71cc074\u003c/code\u003e\u003c/a\u003e hooks: add hook for rich\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/13e3b4286f6032f4ff10f87ae764ff3871f604ee\"\u003e\u003ccode\u003e13e3b42\u003c/code\u003e\u003c/a\u003e Add hook for adbc-driver-manager (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/9a56e21a0b6ed3179d1527abb5d89227c7b8ea3e\"\u003e\u003ccode\u003e9a56e21\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 08 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e989857070c04249a48db1e113ed749506e38a15\"\u003e\u003ccode\u003ee989857\u003c/code\u003e\u003c/a\u003e Release v2026.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/3a2f6d2682b89d0e49090254018ffe84f1b3d1e2\"\u003e\u003ccode\u003e3a2f6d2\u003c/code\u003e\u003c/a\u003e ci: release: repin towncrier and unpin python version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/20e4286639e4d7ff3668de6c13b6f4da8eb479ce\"\u003e\u003ccode\u003e20e4286\u003c/code\u003e\u003c/a\u003e ci: update actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/d8dc3985ae14cd51eba564870132eab381341ab0\"\u003e\u003ccode\u003ed8dc398\u003c/code\u003e\u003c/a\u003e hooks: update langchain hook for compatibility with langchain 1.2.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/ed84feecca99e50e056e0e414b1d7aa48ea1d9e5\"\u003e\u003ccode\u003eed84fee\u003c/code\u003e\u003c/a\u003e hookutils: vtkmodules: update hidden imports for vtk 9.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/compare/v2026.0...v2026.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.10.2 to 82.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/03f3615362c4eb19c770b71be5bd58e38f235528\"\u003e\u003ccode\u003e03f3615\u003c/code\u003e\u003c/a\u003e Bump version: 81.0.0 → 82.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/530d11498af526c4210d8eeaa1ed6c63f44a390f\"\u003e\u003ccode\u003e530d114\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5007\"\u003e#5007\u003c/a\u003e from pypa/feature/remove-more-pkg_resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/11efe9f552290bf536515d458aa85752a0606aa8\"\u003e\u003ccode\u003e11efe9f\u003c/code\u003e\u003c/a\u003e Merge branch 'maint/75.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/118f129dd0fb319058bd05f382c50188fd60a60e\"\u003e\u003ccode\u003e118f129\u003c/code\u003e\u003c/a\u003e Bump version: 75.3.3 → 75.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/90561ffde1220a590b7644745f48b5837b1a130d\"\u003e\u003ccode\u003e90561ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5150\"\u003e#5150\u003c/a\u003e from UladzimirTrehubenka/backport_cve_47273\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/4595034db8aab4ea33035a47a068b04fd8aa00cc\"\u003e\u003ccode\u003e4595034\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/fc008006fc072af02eb7e0b601172c67eba395e3\"\u003e\u003ccode\u003efc00800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5171\"\u003e#5171\u003c/a\u003e from cclauss/ruff-v0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/127e561362a2b4e560faabe9e979ed848106b62d\"\u003e\u003ccode\u003e127e561\u003c/code\u003e\u003c/a\u003e Remove tests reliant on pkg_resources, rather than xfailing them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/64bc21e10b5d749b1b75fa334caedb67cc7414c4\"\u003e\u003ccode\u003e64bc21e\u003c/code\u003e\u003c/a\u003e Reference the superseding libraries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/cf1ff459ea997b615a75d99304f6c9aa1fc94c06\"\u003e\u003ccode\u003ecf1ff45\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into debt/pbr-without-pkg_resources\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v80.10.2...v82.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiorwlock` from 1.5.0 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiorwlock/releases\"\u003eaiorwlock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a cross-event-loop race condition in lock acquisition.\u003c/li\u003e\n\u003cli\u003eFixed a deadlock that could occur when tasks are cancelled.\u003c/li\u003e\n\u003cli\u003eImplemented \u003ccode\u003e__slots__\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiorwlock/blob/master/CHANGES.rst\"\u003eaiorwlock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.5.1 (2026-02-20)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a cross-event-loop race condition in lock acquisition.\u003c/li\u003e\n\u003cli\u003eFixed a deadlock that could occur when tasks are cancelled.\u003c/li\u003e\n\u003cli\u003eImplemented \u003ccode\u003e__slots__\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.4.0 (2024-01-20)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLazily evaluate current loop to allow instantiating lock outside of async functions.\u003c/li\u003e\n\u003cli\u003eSupport Python 3.11 and 3.12.\u003c/li\u003e\n\u003cli\u003eDrop Python 3.7 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.3.0 (2022-01-18)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped Python 3.6 support\u003c/li\u003e\n\u003cli\u003ePython 3.10 is officially supported\u003c/li\u003e\n\u003cli\u003eDrop deprecated \u003ccode\u003eloop\u003c/code\u003e parameter from \u003ccode\u003eRWLock\u003c/code\u003e constructor\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.2.0 (2021-11-09)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug that makes concurrent writes possible under some (rare) conjunctions (\u003ca href=\"https://redirect.github.com/aio-libs/aiorwlock/issues/235\"\u003e#235\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.1.0 (2021-09-27)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove explicit loop usage in \u003ccode\u003easyncio.sleep()\u003c/code\u003e call, make the library forward\ncompatible with Python 3.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.0.0 (2020-12-32)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix a bug with cancelation during acquire \u003ca href=\"https://redirect.github.com/aio-libs/aiorwlock/issues/170\"\u003e#170\u003c/a\u003e (thanks \u003ca href=\"https://gi...\n\n_Description has been truncated_","html_url":"https://github.com/ACFHarbinger/WSmartPlus-Route/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ACFHarbinger%2FWSmartPlus-Route/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4009546346","node_id":"PR_kwDOPc5jCc7HPlcs","number":85,"state":"closed","title":"chore(deps): bump the python group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T06:20:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T06:27:27.000Z","updated_at":"2026-03-09T06:20:27.000Z","time_to_close":604378,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python","update_count":10,"packages":[{"name":"aniworld","old_version":"3.9.0","new_version":"4.1.1","repository_url":"https://github.com/phoenixthrush/AniWorld-Downloader"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.128.7","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.47","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sqlmodel","old_version":"0.0.32","new_version":"0.0.37","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"yt-dlp","old_version":"2026.2.4","new_version":"2026.2.21","repository_url":"https://github.com/yt-dlp/yt-dlp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aniworld](https://github.com/phoenixthrush/AniWorld-Downloader) | `3.9.0` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.128.7` | `0.135.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.18.0` | `6.19.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.4` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.47` |\n| [sqlmodel](https://github.com/fastapi/sqlmodel) | `0.0.32` | `0.0.37` |\n| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | `2026.2.4` | `2026.2.21` |\n\n\nUpdates `aniworld` from 3.9.0 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/releases\"\u003eaniworld's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.4.1.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.1.0...v.4.1.1\"\u003ehttps://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.1.0...v.4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev.4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's new?\u003c/h2\u003e\n\u003ch3\u003es.to Support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded full support for search and download for CLI \u0026amp; WebUI\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded feature for changing the order of the download queue\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ffmpeg auto-dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor all fixes and changes see:\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.0.0...v.4.1.0\"\u003ehttps://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.0.0...v.4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev.4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's New\u003c/h2\u003e\n\u003ch3\u003eDownload\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSwitched from yt-dlp to ffmpeg\u003c/strong\u003e: downloads are now \u003ccode\u003e.mkv\u003c/code\u003e instead of \u003ccode\u003e.mp4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable video codec\u003c/strong\u003e: choose between \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eh264\u003c/code\u003e, \u003ccode\u003eh265\u003c/code\u003e, or \u003ccode\u003eav1\u003c/code\u003e via \u003ccode\u003eANIWORLD_VIDEO_CODEC\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSSO / OIDC login\u003c/strong\u003e: sign in via OpenID Connect provider, with optional force-SSO mode\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePersistent download queue\u003c/strong\u003e: queue is now stored in SQLite and survives restarts\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRandom anime button\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDownloaded badge\u003c/strong\u003e: see which episodes you already have (requested by EasyCrashX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLanguage separation\u003c/strong\u003e: optionally sort downloads into subfolders per language (\u003ccode\u003egerman-dub/\u003c/code\u003e, \u003ccode\u003eenglish-sub/\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOption to disable English Sub downloads\u003c/strong\u003e: save disk space when downloading all languages\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCancel downloads\u003c/strong\u003e: gracefully stops after the current episode finishes (requests by TheMRX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDefault port changed\u003c/strong\u003e from \u003ccode\u003e5000\u003c/code\u003e to \u003ccode\u003e8080\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI Security\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCSRF protection\u003c/li\u003e\n\u003cli\u003eBcrypt password hashing (replaces SHA-256)\u003c/li\u003e\n\u003cli\u003ePassword minimum length increased to 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e.env\u003c/code\u003e file support\u003c/strong\u003e: all settings configurable via environment variables with a documented \u003ccode\u003e.env.example\u003c/code\u003e template\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDNS-over-HTTPS\u003c/strong\u003e enabled by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocker\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSmaller image\u003c/strong\u003e: switched to \u003ccode\u003epython:3.13-alpine\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNamed volume\u003c/strong\u003e for persistent config (\u003ccode\u003e~/.aniworld\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProduction WSGI server\u003c/strong\u003e (waitress) instead of Flask dev server\u003c/li\u003e\n\u003cli\u003eComprehensive \u003ccode\u003edocker-compose.yaml\u003c/code\u003e with all config options documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/eeb010b1372b3516a7fcf0e47b8de05e17e2ffe6\"\u003e\u003ccode\u003eeeb010b\u003c/code\u003e\u003c/a\u003e Bump version from 4.1.0 to 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/1ce13067597f2f22b05129383439c2784d442033\"\u003e\u003ccode\u003e1ce1306\u003c/code\u003e\u003c/a\u003e add webui showcase to README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/509a8650d6463c2881524f0db59d621a4641ecff\"\u003e\u003ccode\u003e509a865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/phoenixthrush/AniWorld-Downloader/issues/152\"\u003e#152\u003c/a\u003e from mzmonkey/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/647d2c6dfb0d15f1649f5aae82a0987d8e818963\"\u003e\u003ccode\u003e647d2c6\u003c/code\u003e\u003c/a\u003e Remove instead of replacing illegal characters in file names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/dfe11da2b60456f862244bf041f222c19c42f61e\"\u003e\u003ccode\u003edfe11da\u003c/code\u003e\u003c/a\u003e ~ Fixed issue where non-video files increase episode count in library\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/92dfa72de8595beedf3b21494bcb8ec985be95a6\"\u003e\u003ccode\u003e92dfa72\u003c/code\u003e\u003c/a\u003e ~ Changed some behavior with library and language separation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/d38118b0ee576ba3319e4bc6e2bbfa749c2c1361\"\u003e\u003ccode\u003ed38118b\u003c/code\u003e\u003c/a\u003e ~ Fixed language separation library compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/033ce4ed0b62df67b803082898bf7046971a14fd\"\u003e\u003ccode\u003e033ce4e\u003c/code\u003e\u003c/a\u003e + Add Custom Paths feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/bfea9acf82ba1270648031402152cc06fd31ff6f\"\u003e\u003ccode\u003ebfea9ac\u003c/code\u003e\u003c/a\u003e + Improved UX/UI design to avoid confusion with new notice.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/5d00caa738883771ba72420b8e2237243482d256\"\u003e\u003ccode\u003e5d00caa\u003c/code\u003e\u003c/a\u003e + Added notice for temporary webui changes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.3.9.0...v.4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.128.7 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.128.7...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.5.1 to 4.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(platforms): fix RST formatting and TOC hierarchy 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/platformdirs/pull/447\"\u003etox-dev/platformdirs#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure following Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/448\"\u003etox-dev/platformdirs#448\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/platformdirs/compare/4.9.1...4.9.2\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.9.1...4.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: enhance README, fix issues, and reorganize platforms.rst 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/platformdirs/pull/445\"\u003etox-dev/platformdirs#445\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/platformdirs/compare/4.9.0...4.9.1\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.9.0...4.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(usage): add use_site_for_root and comprehensive guidance 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/platformdirs/pull/439\"\u003etox-dev/platformdirs#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): use correct runtime dir path for OpenBSD 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/platformdirs/pull/440\"\u003etox-dev/platformdirs#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_applications_dir property 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/platformdirs/pull/442\"\u003etox-dev/platformdirs#442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_bin_dir property 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/platformdirs/pull/443\"\u003etox-dev/platformdirs#443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: split usage guide into tutorial, how-to, and reference 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/platformdirs/pull/441\"\u003etox-dev/platformdirs#441\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/platformdirs/compare/4.8.0...4.9.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.8.0...4.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(windows): document Store Python sandbox path behavior 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/platformdirs/pull/423\"\u003etox-dev/platformdirs#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_log_dir and document Store Python sandbox 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/platformdirs/pull/424\"\u003etox-dev/platformdirs#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_state_dir for system-wide state 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/platformdirs/pull/425\"\u003etox-dev/platformdirs#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add use_site_for_root parameter 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/platformdirs/pull/426\"\u003etox-dev/platformdirs#426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add PLATFORMDIRS_* env var overrides 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/platformdirs/pull/427\"\u003etox-dev/platformdirs#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add WIN_PD_OVERRIDE_* env var overrides 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/platformdirs/pull/428\"\u003etox-dev/platformdirs#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(macos): yield individual site dirs in iter_*_dirs 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/platformdirs/pull/429\"\u003etox-dev/platformdirs#429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_bin_dir property 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/platformdirs/pull/430\"\u003etox-dev/platformdirs#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_applications_dir property 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/platformdirs/pull/432\"\u003etox-dev/platformdirs#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(usage): note that home dir is in stdlib 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/platformdirs/pull/431\"\u003etox-dev/platformdirs#431\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/platformdirs/compare/4.7.1...4.8.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.7.1...4.8.0\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/tox-dev/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure following Diataxis framework :pr:\u003ccode\u003e448\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(platforms): fix RST formatting and TOC hierarchy :pr:\u003ccode\u003e447\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.1 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: enhance README, fix issues, and reorganize platforms.rst :pr:\u003ccode\u003e445\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📚 docs: split usage guide into tutorial, how-to, and reference :pr:\u003ccode\u003e441\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_bin_dir property :pr:\u003ccode\u003e443\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_applications_dir property :pr:\u003ccode\u003e442\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): use correct runtime dir path for OpenBSD :pr:\u003ccode\u003e440\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(usage): document use_site_for_root parameter :pr:\u003ccode\u003e439\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.8.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(usage): note that home dir is in stdlib :pr:\u003ccode\u003e431\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_applications_dir property :pr:\u003ccode\u003e432\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_bin_dir property :pr:\u003ccode\u003e430\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(macos): yield individual site dirs in iter_*_dirs :pr:\u003ccode\u003e429\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add WIN_PD_OVERRIDE_* env var overrides :pr:\u003ccode\u003e428\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add PLATFORMDIRS_* env var overrides :pr:\u003ccode\u003e427\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add use_site_for_root parameter :pr:\u003ccode\u003e426\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_state_dir for system-wide state :pr:\u003ccode\u003e425\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_log_dir and document Store Python sandbox :pr:\u003ccode\u003e424\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(windows): document Store Python sandbox path behavior :pr:\u003ccode\u003e423\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.7.1 (2026-02-13)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(windows): avoid FileNotFoundError in sandboxed environments :pr:\u003ccode\u003e422\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.7.0 (2026-02-12)\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/tox-dev/platformdirs/commit/72271a62c70f665be6cad489d12f9855af8c4ff1\"\u003e\u003ccode\u003e72271a6\u003c/code\u003e\u003c/a\u003e Release 4.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/3e45fa98166ab8a9aba9c0d1e2a4a1bc252d183b\"\u003e\u003ccode\u003e3e45fa9\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure following Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/1d8448bc1697b259fbc596d6c31ee43d6e87fdf2\"\u003e\u003ccode\u003e1d8448b\u003c/code\u003e\u003c/a\u003e 📝 docs(platforms): fix RST formatting and TOC hierarchy (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/f65684930c59278b58f93639b343a312189c3695\"\u003e\u003ccode\u003ef656849\u003c/code\u003e\u003c/a\u003e Release 4.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d983fb18dcc3f688894f84783ae9b305b0c50e37\"\u003e\u003ccode\u003ed983fb1\u003c/code\u003e\u003c/a\u003e 📝 docs: enhance README, fix issues, and reorganize platforms.rst (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/685a1d9e874e3a52c6bb6a9263130b2d5f591ae2\"\u003e\u003ccode\u003e685a1d9\u003c/code\u003e\u003c/a\u003e Release 4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/ae73d3445bb67195f4745ebe9d3b5154de783c61\"\u003e\u003ccode\u003eae73d34\u003c/code\u003e\u003c/a\u003e 📚 docs: split usage guide into tutorial, how-to, and reference (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/816747efdd59fbe2c707192607343b80edd02e26\"\u003e\u003ccode\u003e816747e\u003c/code\u003e\u003c/a\u003e ✨ feat(api): add site_bin_dir property (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/7a47ac4ee69da98c44266b16f40ae038f2ddf2f3\"\u003e\u003ccode\u003e7a47ac4\u003c/code\u003e\u003c/a\u003e ✨ feat(api): add site_applications_dir property (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/c69a552803605c800ea00695cf749953de114652\"\u003e\u003ccode\u003ec69a552\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): use correct runtime dir path for OpenBSD (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.5.1...4.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.0 to 0.15.4\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.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\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/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\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/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.4\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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.4\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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip\"\u003eruff-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz\"\u003eruff-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-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/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\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/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\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/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop explicit support for \u003ccode\u003e.qmd\u003c/code\u003e file extension (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23572\"\u003e#23572\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis can now be enabled instead by setting the \u003ca href=\"https://docs.astral.sh/ruff/settings/#extension\"\u003e\u003ccode\u003eextension\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e# ruff.toml\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff]\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude configured extensions in file discovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23400\"\u003e#23400\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Allow suspicious imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eS401\u003c/code\u003e-\u003ccode\u003eS415\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23441\"\u003e#23441\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Allow \u003ccode\u003eB901\u003c/code\u003e in pytest hook wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21931\"\u003e#21931\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add missing conventions from upstream (\u003ccode\u003eICN001\u003c/code\u003e, \u003ccode\u003eICN002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21373\"\u003e#21373\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f14edd8661e2803254f89265548c7487f47a09f6\"\u003e\u003ccode\u003ef14edd8\u003c/code\u003e\u003c/a\u003e Bump 0.15.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23595\"\u003e#23595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd09d370076ab585444fd39f0fee79bf29280b68\"\u003e\u003ccode\u003efd09d37\u003c/code\u003e\u003c/a\u003e Fix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/81d655fadce087b792e524ed1964e9bcc31b73cd\"\u003e\u003ccode\u003e81d655f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/625b4f5a672d1baaa6f25e0999ca428f3f2522f1\"\u003e\u003ccode\u003e625b4f5\u003c/code\u003e\u003c/a\u003e [ruff] docs: Clarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/60facfa0bc02689637e25237f0df5abfc2f27054\"\u003e\u003ccode\u003e60facfa\u003c/code\u003e\u003c/a\u003e one word typo fix in a \u003ccode\u003ewhile_loop.md\u003c/code\u003e test case (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23589\"\u003e#23589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbb9fa75cc1915973a739da0ec469094176bfdc6\"\u003e\u003ccode\u003efbb9fa7\u003c/code\u003e\u003c/a\u003e docs: fix incorrect import-heading example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5bc49a941279c9100ff834edae1cb63053aeec93\"\u003e\u003ccode\u003e5bc49a9\u003c/code\u003e\u003c/a\u003e Increase the ruleset size to 16 bits (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23586\"\u003e#23586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a62ba8c6e2bac0b899d90fd30a1b26c07aac44bb\"\u003e\u003ccode\u003ea62ba8c\u003c/code\u003e\u003c/a\u003e [ty] Fix overloaded callable assignability for unary Callable targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23277\"\u003e#23277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e5f2f36a3f49b45fd7506d42b12c495c2517e936\"\u003e\u003ccode\u003ee5f2f36\u003c/code\u003e\u003c/a\u003e Bump 0.15.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23585\"\u003e#23585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0e19fc9a61477e71abc4eb76f05a129b6b9ab873\"\u003e\u003ccode\u003e0e19fc9\u003c/code\u003e\u003c/a\u003e [ty] defer calculating conjunctions in narrowing constraints (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23552\"\u003e#23552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.4\"\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.46 to 2.0.47\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.47\u003c/h1\u003e\n\u003cp\u003eReleased: February 24, 2026\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 when using ORM mappings with Python 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e feature\nthat no longer requires \u0026quot;future annotations\u0026quot;, where the ORM's introspection\nof the \u003ccode\u003e__init__\u003c/code\u003e method of mapped classes would fail if non-present\nidentifiers in annotations were present.  The vendored \u003ccode\u003egetfullargspec()\u003c/code\u003e\nmethod has been amended to use \u003ccode\u003eFormat.FORWARDREF\u003c/code\u003e under Python 3.14 to\nprevent resolution of names that aren't present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13104\"\u003e#13104\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 The connection object returned by \u003ccode\u003e_engine.Engine.raw_connection()\u003c/code\u003e\nnow supports the context manager protocol, automatically returning the\nconnection to the pool when exiting the context.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13116\"\u003e#13116\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed an issue in the PostgreSQL dialect where foreign key constraint\nreflection would incorrectly swap or fail to capture \u003ccode\u003eonupdate\u003c/code\u003e and\n\u003ccode\u003eondelete\u003c/code\u003e values when these clauses appeared in a different order than\nexpected in the constraint definition. This issue primarily affected\nPostgreSQL-compatible databases such as CockroachDB, which may return \u003ccode\u003eON DELETE\u003c/code\u003e before \u003ccode\u003eON UPDATE\u003c/code\u003e in the constraint definition string. The\nreflection logic now correctly parses both clauses regardless of their\nordering.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13105\"\u003e#13105\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed issue in the \u003ccode\u003eengine_insertmanyvalues\u003c/code\u003e feature where using\nPostgreSQL's \u003ccode\u003eON CONFLICT\u003c/code\u003e clause with\n\u003ccode\u003e_dml.Insert.returning.sort_by_parameter_order\u003c/code\u003e enabled would\ngenerate invalid SQL when the insert used an implicit sentinel (server-side\nautoincrement primary key). The generated SQL would incorrectly declare a\nsentinel counter column in the \u003ccode\u003eimp_sen\u003c/code\u003e table alias without providing\ncorresponding values in the \u003ccode\u003eVALUES\u003c/code\u003e clause, leading to a\n\u003ccode\u003eProgrammingError\u003c/code\u003e indicating column count mismatch. The fix allows batch\nexecution mode when \u003ccode\u003eembed_values_counter\u003c/code\u003e is active, as the embedded\ncounter provides the ordering capability needed even with upsert behaviors,\nrather than unnecessarily downgrading to row-at-a-time execution.\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 `sqlmodel` from 0.0.32 to 0.0.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1773\"\u003e#1773\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1766\"\u003e#1766\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add script to remove Python 3.9 files, migrate to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1767\"\u003e#1767\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1761\"\u003e#1761\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.1 to 0.23.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1760\"\u003e#1760\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.34\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Enable tests with lower and upper bound versions. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1735\"\u003e#1735\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1758\"\u003e#1758\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.0 to 0.23.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1759\"\u003e#1759\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.2 to 0.23.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1756\"\u003e#1756\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.7 to 0.128.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1755\"\u003e#1755\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.33\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in inline comment in \u003ccode\u003eexpression.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1747\"\u003e#1747\u003c/a\u003e by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix async example in \u003ccode\u003esession.execute()\u003c/code\u003e docstring \u0026amp; deprecation message. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1643\"\u003e#1643\u003c/a\u003e by \u003ca href=\"https://github.com/DanielLeviLucas\"\u003e\u003ccode\u003e@​DanielLeviLucas\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update \u003ccode\u003emanagement-tasks.md\u003c/code\u003e to be in line with \u003ccode\u003emanagement-tasks.md\u003c/code\u003e in FastAPI repo. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1743\"\u003e#1743\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Update build script for \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1754\"\u003e#1754\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.6 to 0.128.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1751\"\u003e#1751\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.1 to 0.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1752\"\u003e#1752\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update build setup for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003esqlmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1753\"\u003e#1753\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.3 to 0.128.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1750\"\u003e#1750\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.1 to 0.128.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1746\"\u003e#1746\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.1 to 0.3.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1745\"\u003e#1745\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.0 to 0.128.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1742\"\u003e#1742\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update \u003ccode\u003eValidationError\u003c/code\u003e schema in FastAPI-related tests to be compatible with FastAPI 0.128.1+. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1744\"\u003e#1744\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.14 to 0.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1740\"\u003e#1740\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add generate-readme to pre-commit. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1741\"\u003e#1741\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run mypy by pre-commit. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1738\"\u003e#1738\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.0 to 0.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1739\"\u003e#1739\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1773\"\u003e#1773\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.36\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003esqmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1772\"\u003e#1772\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1766\"\u003e#1766\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add script to remove Python 3.9 files, migrate to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1767\"\u003e#1767\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1761\"\u003e#1761\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.1 to 0.23.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1760\"\u003e#1760\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.34\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Enable tests with lower and upper bound versions. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1735\"\u003e#1735\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1758\"\u003e#1758\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.0 to 0.23.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1759\"\u003e#1759\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.2 to 0.23.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1756\"\u003e#1756\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.7 to 0.128.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1755\"\u003e#1755\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.33\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in inline comment in \u003ccode\u003eexpression.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1747\"\u003e#1747\u003c/a\u003e by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix async example in \u003ccode\u003esession.execute()\u003c/code\u003e docstring \u0026amp; deprecation message. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1643\"\u003e#1643\u003c/a\u003e by \u003ca href=\"https://github.com/DanielLeviLucas\"\u003e\u003ccode\u003e@​DanielLeviLucas\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update \u003ccode\u003emanagement-tasks.md\u003c/code\u003e to be in line with \u003ccode\u003emanagement-tasks.md\u003c/code\u003e in FastAPI repo. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1743\"\u003e#1743\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Update build script for \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1754\"\u003e#1754\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.6 to 0.128.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1751\"\u003e#1751\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.1 to 0.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1752\"\u003e#1752\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update build setup for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003esqlmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1753\"\u003e#1753\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.3 to 0.128.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1750\"\u003e#1750\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.1 to 0.128.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1746\"\u003e#1746\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/aa48bf53c87cda9f0ee3264b8752260c0c59661a\"\u003e\u003ccode\u003eaa48bf5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.37\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/1ecbba6e80733e904801cca7fac8e9f0f52fbff6\"\u003e\u003ccode\u003e1ecbba6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/8fabd10f8c2226d3d958ee2c6bfee795847cc9fe\"\u003e\u003ccode\u003e8fabd10\u003c/code\u003e\u003c/a\u003e 👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5f79efda79a867d69cf5f1c04e64899752abf61e\"\u003e\u003ccode\u003e5f79efd\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/43cc7d35cd9175cf29a93b7f470def590eb5e880\"\u003e\u003ccode\u003e43cc7d3\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/248a0b9017e67c33b5fc434d78237e041ed6585e\"\u003e\u003ccode\u003e248a0b9\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, no more versions will be released, use on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/3e123f71cbeacb4977c62b7ff7fde5e3efc2a79c\"\u003e\u003ccode\u003e3e123f7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f0a77e4169c96405f2f7325ca39d81b4bfa7ba70\"\u003e\u003ccode\u003ef0a77e4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/06b5a0132408f86b79626e4ebcac1983f99b11c0\"\u003e\u003ccode\u003e06b5a01\u003c/code\u003e\u003c/a\u003e 🔨 Add script to remove Python 3.9 files, migrate to Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1767\"\u003e#1767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/17fc7f5af1d4b67587012a53aa59cf9bc10c57eb\"\u003e\u003ccode\u003e17fc7f5\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.32...0.0.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yt-dlp` from 2026.2.4 to 2026.2.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yt-dlp/yt-dlp/releases\"\u003eyt-dlp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eyt-dlp 2026.02.21\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yt-dlp/yt-dlp#installation\" title=\"Installation instructions\"\u003e\u003cimg src=\"https://img.shields.io/badge/-Which%20file%20to%20download%3F-white.svg?style=for-the-badge\" alt=\"Installation\" /\u003e\u003c/a\u003e \u003ca href=\"https://discord.gg/H5MNcFW63r\" title=\"Discord\"\u003e\u003cimg src=\"https://img.shields.io/discord/807245652072857610?color=blue\u0026amp;labelColor=555555\u0026amp;label=\u0026amp;logo=discord\u0026amp;style=for-the-badge\" alt=\"Discord\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/yt-dlp/yt-dlp/blob/master/Maintainers.md#maintainers\" title=\"Donate\"\u003e\u003cimg src=\"https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors\u0026amp;labelColor=555555\u0026amp;style=for-the-badge\" alt=\"Donate\" /\u003e\u003c/a\u003e \u003ca href=\"htt...\n\n_Description has been truncated_","html_url":"https://github.com/Zzackllack/AniBridge/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FAniBridge/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"},{"uuid":"4008729644","node_id":"PR_kwDOJRiRKc7HNBN9","number":47,"state":"closed","title":"build(deps): bump the all group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T00:55:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T00:55:26.000Z","updated_at":"2026-03-09T00:55:18.000Z","time_to_close":604791,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all","update_count":2,"packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 2 updates in the / directory: [pyinstaller](https://github.com/pyinstaller/pyinstaller) and [python-dotenv](https://github.com/theskumar/python-dotenv).\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/amieldelatorre/spotilistcli/pull/47","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amieldelatorre%2Fspotilistcli/issues/47","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/47/packages"},{"uuid":"4008354554","node_id":"PR_kwDONPjVhM7HL2Nz","number":210,"state":"closed","title":"Bump pyinstaller from 6.18.0 to 6.19.0 in /bot","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-02T01:07:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T21:48:42.000Z","updated_at":"2026-03-02T01:07:53.000Z","time_to_close":11944,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/bot","ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.18.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.18.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/GustaMantovani/Admine/pull/210","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GustaMantovani%2FAdmine/issues/210","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/210/packages"},{"uuid":"4008024011","node_id":"PR_kwDOEFirmc7HK0Ji","number":422,"state":"closed","title":"build(deps-dev): update pyinstaller requirement from \u003c6.19,\u003e=6.8.0 to \u003e=6.8.0,\u003c6.20","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-02T16:57:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T19:03:00.000Z","updated_at":"2026-03-02T16:57:40.000Z","time_to_close":78878,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003c6.19,\u003e=6.8.0","new_version":"\u003e=6.8.0,\u003c6.20","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.8.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Guts/DicoGIS/pull/422","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guts%2FDicoGIS/issues/422","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/422/packages"}],"issue_packages":[{"old_version":"6.11.1","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-06-02T01:13:36.000Z","version_change":"6.11.1 → 6.20.0","issue":{"uuid":"4567527882","node_id":"PR_kwDOR20b4M7hlleB","number":17,"state":"open","title":"build(deps): bump the python-minor group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T01:13:36.000Z","updated_at":"2026-06-02T01:13:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-minor","update_count":12,"packages":[{"name":"fastapi","old_version":"0.115.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.30.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.30","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"pydantic","old_version":"2.9.0","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"httpx","old_version":"0.27.0","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"markitdown","old_version":"0.1.5","new_version":"0.1.6","repository_url":"https://github.com/microsoft/markitdown"},{"name":"python-docx","old_version":"1.1.2","new_version":"1.2.0","repository_url":"https://github.com/python-openxml/python-docx"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"jinja2","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"pyinstaller","old_version":"6.11.1","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.115.0` | `0.136.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.30.0` | `0.48.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.9` | `0.0.30` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.9.0` | `2.13.4` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.2` |\n| [httpx](https://github.com/encode/httpx) | `0.27.0` | `0.28.1` |\n| [markitdown](https://github.com/microsoft/markitdown) | `0.1.5` | `0.1.6` |\n| [python-docx](https://github.com/python-openxml/python-docx) | `1.1.2` | `1.2.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.4` | `3.1.6` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.11.1` | `6.20.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n\n\nUpdates `fastapi` from 0.115.0 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.0...0.136.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.30.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.46.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_max_size\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2915\"\u003eKludex/uvicorn#2915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_ping_interval\u003c/code\u003e and \u003ccode\u003ews_ping_timeout\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2916\"\u003eKludex/uvicorn#2916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for incoming WebSocket message buffer in websockets-sansio by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2917\"\u003eKludex/uvicorn#2917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve forwarded client ports in proxy headers middleware by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2903\"\u003eKludex/uvicorn#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003eos.PathLike\u003c/code\u003e for \u003ccode\u003elog_config\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2905\"\u003eKludex/uvicorn#2905\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003elog_level\u003c/code\u003e strings case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2907\"\u003eKludex/uvicorn#2907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise helpful \u003ccode\u003eImportError\u003c/code\u003e when PyYAML is missing for YAML log config by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2906\"\u003eKludex/uvicorn#2906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert empty context for ASGI runs by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2911\"\u003eKludex/uvicorn#2911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--reset-contextvars\u003c/code\u003e flag to isolate ASGI request context by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2912\"\u003eKludex/uvicorn#2912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e on server shutdown for streaming responses\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e) by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2913\"\u003eKludex/uvicorn#2913\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/Krishnachaitanyakc\"\u003e\u003ccode\u003e@​Krishnachaitanyakc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2870\"\u003eKludex/uvicorn#2870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.44.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement websocket keepalive pings for websockets-sansio by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2888\"\u003eKludex/uvicorn#2888\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.46.0 (April 23, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_max_size\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ews_ping_interval\u003c/code\u003e and \u003ccode\u003ews_ping_timeout\u003c/code\u003e in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for incoming WebSocket message buffer in \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2917\"\u003e#2917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.45.0 (April 21, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--reset-contextvars\u003c/code\u003e flag to isolate ASGI request context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003eos.PathLike\u003c/code\u003e for \u003ccode\u003elog_config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2905\"\u003e#2905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003elog_level\u003c/code\u003e strings case-insensitively (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e on server shutdown for streaming responses\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2913\"\u003e#2913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Explicitly start ASGI run with empty context\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2911\"\u003e#2911\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\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/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.30.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.9 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.30\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003eKludex/python-multipart#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003eKludex/python-multipart#291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.27\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass parse offsets via constructors by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/268\"\u003eKludex/python-multipart#268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd multipart header limits by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/267\"\u003eKludex/python-multipart#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.26\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip preamble before first multipart boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/262\"\u003eKludex/python-multipart#262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSilently discard epilogue data after the closing boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/259\"\u003eKludex/python-multipart#259\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.25\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply Apache-2.0 properly by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/247\"\u003eKludex/python-multipart#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle multipart headers case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/252\"\u003eKludex/python-multipart#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efield_end\u003c/code\u003e for trailing bare field names on finalize by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/230\"\u003eKludex/python-multipart#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUPLOAD_DELETE_TMP\u003c/code\u003e to \u003ccode\u003eFormParser\u003c/code\u003e config by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/254\"\u003eKludex/python-multipart#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove custom FormParser classes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/257\"\u003eKludex/python-multipart#257\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle CTE values case-insensitively by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/258\"\u003eKludex/python-multipart#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MIME content type info to File by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/143\"\u003eKludex/python-multipart#143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.24\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/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eapplication/x-www-form-urlencoded\u003c/code\u003e bodies per the WHATWG URL standard, treating only \u003ccode\u003e\u0026amp;\u003c/code\u003e as a field separator \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003e#290\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231/5987 extended parameters (\u003ccode\u003ename*\u003c/code\u003e, \u003ccode\u003efilename*\u003c/code\u003e) in \u003ccode\u003eparse_options_header\u003c/code\u003e, keeping the plain parameter authoritative per \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7578#section-4.2\"\u003eRFC 7578 §4.2\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.27 (2026-04-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd multipart header limits \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/267\"\u003e#267\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePass parse offsets via constructors \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/268\"\u003e#268\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.26 (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip preamble before the first multipart boundary more efficiently \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/262\"\u003e#262\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSilently discard epilogue data after the closing multipart boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/259\"\u003e#259\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.25 (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd MIME content type info to \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/143\"\u003e#143\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eHandle CTE values case-insensitively \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/258\"\u003e#258\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove custom \u003ccode\u003eFormParser\u003c/code\u003e classes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/257\"\u003e#257\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUPLOAD_DELETE_TMP\u003c/code\u003e to \u003ccode\u003eFormParser\u003c/code\u003e config \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/254\"\u003e#254\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efield_end\u003c/code\u003e for trailing bare field names on finalize \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/230\"\u003e#230\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eHandle multipart headers case-insensitively \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/252\"\u003e#252\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eApply Apache-2.0 properly \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/247\"\u003e#247\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.24 (2026-04-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eValidate \u003ccode\u003echunk_size\u003c/code\u003e in \u003ccode\u003eparse_form()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/244\"\u003e#244\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.23 (2026-04-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused \u003ccode\u003etrust_x_headers\u003c/code\u003e parameter and \u003ccode\u003eX-File-Name\u003c/code\u003e fallback \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/196\"\u003e#196\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReturn processed length from \u003ccode\u003eQuerystringParser._internal_write\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/229\"\u003e#229\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCleanup metadata dunders from \u003ccode\u003e__init__.py\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/227\"\u003e#227\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\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/Kludex/python-multipart/commit/9d3ead568a259f222cff6425262ff63e88d930d4\"\u003e\u003ccode\u003e9d3ead5\u003c/code\u003e\u003c/a\u003e Version 0.0.30 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3506c15ce99cb62faf2d5ceb3c4c1e5800cb843d\"\u003e\u003ccode\u003e3506c15\u003c/code\u003e\u003c/a\u003e Ignore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d69df35cd2cad9c72794c2c340db646afae957d8\"\u003e\u003ccode\u003ed69df35\u003c/code\u003e\u003c/a\u003e Treat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1e6ff9740b09fb439755f30e2b0e2ada1d297325\"\u003e\u003ccode\u003e1e6ff97\u003c/code\u003e\u003c/a\u003e Bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.9.0 to 2.13.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.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 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/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \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/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata 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/13129\"\u003e#13129\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.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 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/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \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/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata 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/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\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/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.9.0...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/563\"\u003e#563\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.27.0 to 0.28.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/httpx/releases\"\u003ehttpx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.28.1\u003c/h2\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.28.0\u003c/h2\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/HEAD/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.2\u003c/h2\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.1\u003c/h2\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/blob/master/CHANGELOG.md\"\u003ehttpx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eBe aware that the default \u003cem\u003eJSON request bodies now use a more compact representation\u003c/em\u003e. This is generally considered a prefered style, tho may require updates to test suites.\u003c/p\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations...\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/master/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177\"\u003e\u003ccode\u003e26d48e0\u003c/code\u003e\u003c/a\u003e Version 0.28.1 (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba\"\u003e\u003ccode\u003e89599a9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003everify=False\u003c/code\u003e, \u003ccode\u003ecert=...\u003c/code\u003e case. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3442\"\u003e#3442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d\"\u003e\u003ccode\u003e8ecb86f\u003c/code\u003e\u003c/a\u003e Add test for request params behavior changes (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3440\"\u003e#3440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/0cb7e5a2e736628e2f506d259fcf0d48cd2bde82\"\u003e\u003ccode\u003e0cb7e5a\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 11 updates (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3434\"\u003e#3434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/15e21e9ea3cad4f06e22a7e704aabefdf43d2e29\"\u003e\u003ccode\u003e15e21e9\u003c/code\u003e\u003c/a\u003e Updating deprecated docstring Client() class (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3426\"\u003e#3426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/80960fa31918d7663c3f4c3ad61661cf0e80628f\"\u003e\u003ccode\u003e80960fa\u003c/code\u003e\u003c/a\u003e Version 0.28.0. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3419\"\u003e#3419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/a33c87852b8a0dddc65e5f739af1e0a6fca4b91f\"\u003e\u003ccode\u003ea33c878\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eextensions\u003c/code\u003e type annotation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3380\"\u003e#3380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/ce7e14da27abba6574be9b3ea7cd5990556a9343\"\u003e\u003ccode\u003ece7e14d\u003c/code\u003e\u003c/a\u003e Error on verify as str. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3418\"\u003e#3418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/47f4a96ffaaaa07dca1614409549b5d7a6e7af49\"\u003e\u003ccode\u003e47f4a96\u003c/code\u003e\u003c/a\u003e Handle empty zstd responses (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3412\"\u003e#3412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/189fc4bcbe5f314128775dec66a616ac9a31ad48\"\u003e\u003ccode\u003e189fc4b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md, fix typo(s) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3406\"\u003e#3406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/httpx/compare/0.27.0...0.28.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markitdown` from 0.1.5 to 0.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/markitdown/releases\"\u003emarkitdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.1.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[MS] Add OCR layer service for embedded images and PDF scans by \u003ca href=\"https://github.com/lesyk\"\u003e\u003ccode\u003e@​lesyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1541\"\u003emicrosoft/markitdown#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix O(n) memory growth in PDF conversion by calling page.close() afte… by \u003ca href=\"https://github.com/lesyk\"\u003e\u003ccode\u003e@​lesyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1612\"\u003emicrosoft/markitdown#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated warning about binding to non-local interfaces. by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1653\"\u003emicrosoft/markitdown#1653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle deeply nested HTML that triggers RecursionError by \u003ca href=\"https://github.com/jigangz\"\u003e\u003ccode\u003e@​jigangz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1644\"\u003emicrosoft/markitdown#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify security posture in READMEs by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1807\"\u003emicrosoft/markitdown#1807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add Azure Content Understanding converter by \u003ca href=\"https://github.com/chienyuanchang\"\u003e\u003ccode\u003e@​chienyuanchang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1865\"\u003emicrosoft/markitdown#1865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.1.6 by \u003ca href=\"https://github.com/afourney\"\u003e\u003ccode\u003e@​afourney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1914\"\u003emicrosoft/markitdown#1914\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/jigangz\"\u003e\u003ccode\u003e@​jigangz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1644\"\u003emicrosoft/markitdown#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chienyuanchang\"\u003e\u003ccode\u003e@​chienyuanchang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/microsoft/markitdown/pull/1865\"\u003emicrosoft/markitdown#1865\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/microsoft/markitdown/compare/v0.1.5...v0.1.6\"\u003ehttps://github.com/microsoft/markitdown/compare/v0.1.5...v0.1.6\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/microsoft/markitdown/commit/e144e0a2be95b34df17433bac904e635f2c5e551\"\u003e\u003ccode\u003ee144e0a\u003c/code\u003e\u003c/a\u003e Bump version to 0.1.6 (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/a01d74dda70de866c563256015fb4f036271af46\"\u003e\u003ccode\u003ea01d74d\u003c/code\u003e\u003c/a\u003e feat: Add Azure Content Understanding converter (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1865\"\u003e#1865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/a51f725d7ff4cdfe3bb6ad2ce2c04d98bf5f1f00\"\u003e\u003ccode\u003ea51f725\u003c/code\u003e\u003c/a\u003e Clarify security posture in READMEs (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1807\"\u003e#1807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/604bba13da2f43b756b49122cb65bdedb85b1dff\"\u003e\u003ccode\u003e604bba1\u003c/code\u003e\u003c/a\u003e fix: handle deeply nested HTML that triggers RecursionError (\u003ca href=\"https://redirect.github.com/microsoft/markitdown/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/markitdown/commit/63cbbd9de6afa01ee3b97127e4945c...\n\n_Description has been truncated_","html_url":"https://github.com/ativubise657-boop/nastyaorchestrator/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ativubise657-boop%2Fnastyaorchestrator/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"6.16.0","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-05-18T05:30:38.000Z","version_change":"6.16.0 → 6.20.0","issue":{"uuid":"4466506172","node_id":"PR_kwDOSM5yMc7chG6O","number":170,"state":"closed","title":"chore(deps): bump the python-minor-patch group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T05:21:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T05:30:38.000Z","updated_at":"2026-05-25T05:21:27.000Z","time_to_close":604248,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":4,"packages":[{"name":"uvicorn","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pyinstaller","old_version":"6.16.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 4 updates: [uvicorn](https://github.com/Kludex/uvicorn), [python-multipart](https://github.com/Kludex/python-multipart), [ruff](https://github.com/astral-sh/ruff) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\n\nUpdates `uvicorn` from 0.46.0 to 0.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6761b2c8f9272fa0e908d0b9cdcb3cb0aa11382f\"\u003e\u003ccode\u003e6761b2c\u003c/code\u003e\u003c/a\u003e Remove Hugging Face sponsor block from docs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2923\"\u003e#2923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/438f64834de00708a9bb3548a36090e7a924ad84\"\u003e\u003ccode\u003e438f648\u003c/code\u003e\u003c/a\u003e Surface sponsors on welcome page and sidebar (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/10ddc6dd296cb6e432a00835abe27f1c822373c1\"\u003e\u003ccode\u003e10ddc6d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/b499bc45101d920e691e384025d728507215d4d1\"\u003e\u003ccode\u003eb499bc4\u003c/code\u003e\u003c/a\u003e Eagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.28 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\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/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\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.12 to 0.15.13\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.13\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\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/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.13\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-14.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a rule to flag lazy imports that are eagerly evaluated (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25016\"\u003e#25016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Standardize diagnostic message (\u003ccode\u003ePLR0914\u003c/code\u003e, \u003ccode\u003ePLR0917\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24996\"\u003e#24996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eF811\u003c/code\u003e false positive for class methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24933\"\u003e#24933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix setting selection for multi-folder workspace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24819\"\u003e#24819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix false positive for lines with leading whitespace (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25122\"\u003e#25122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix false positive for f-string debug specifier (\u003ccode\u003ePYI016\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24098\"\u003e#24098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways include panic payload in panic diagnostic message (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24873\"\u003e#24873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict \u003ccode\u003ePYI034\u003c/code\u003e for in-place operations to enclosing class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24511\"\u003e#24511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for parameters that are declared \u003ccode\u003eglobal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24902\"\u003e#24902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate known stdlib (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25103\"\u003e#25103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML examples to \u003ccode\u003e--config\u003c/code\u003e help text (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25013\"\u003e#25013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColorize ruff check 'All checks passed' (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25085\"\u003e#25085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease max allowed value of \u003ccode\u003eline-length\u003c/code\u003e setting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24962\"\u003e#24962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eD203\u003c/code\u003e to rules that conflict with the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25044\"\u003e#25044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eCOM819\u003c/code\u003e and formatter interaction (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25045\"\u003e#25045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify that \u003ccode\u003eNotImplemented\u003c/code\u003e is a value, not an exception (\u003ccode\u003eF901\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25054\"\u003e#25054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate number of lint rules supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24942\"\u003e#24942\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify the playground's markdown template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24924\"\u003e#24924\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/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2afb467ce397e4a89c13a0a814c62cfecb0e9e49\"\u003e\u003ccode\u003e2afb467\u003c/code\u003e\u003c/a\u003e Bump 0.15.13 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25157\"\u003e#25157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/300879600fa3af7cde1e675c63de6ad9d0797d1b\"\u003e\u003ccode\u003e3008796\u003c/code\u003e\u003c/a\u003e [ty] classify TypeVar semantic tokens as type parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24891\"\u003e#24891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/79470e31877acb6074f3bbff2a49e508822ae4e8\"\u003e\u003ccode\u003e79470e3\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eisort\u003c/code\u003e] Avoid constructing \u003ccode\u003eglob::Pattern\u003c/code\u003es for literal known modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25123\"\u003e#25123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2522549901d50f18775999f0fb802b19229417f0\"\u003e\u003ccode\u003e2522549\u003c/code\u003e\u003c/a\u003e Remove shellcheck from prek (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25154\"\u003e#25154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7db7170020f539d6d2bc01dbd0b0c09fab91dc06\"\u003e\u003ccode\u003e7db7170\u003c/code\u003e\u003c/a\u003e [ty] Support TypedDict key completions in incomplete, anonymous contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25\"\u003e#25\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bb3dd535f1c5a83e2e56ac93a771fadbeeceebd0\"\u003e\u003ccode\u003ebb3dd53\u003c/code\u003e\u003c/a\u003e [ty] Run full iteration analysis on narrowed typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25143\"\u003e#25143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/828cdb7732efcb16a53f4ee5f011cf653b834d1a\"\u003e\u003ccode\u003e828cdb7\u003c/code\u003e\u003c/a\u003e [ty] Isolate file-watching test environment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25151\"\u003e#25151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/89e1d8670ea4d3af60c8143ee552dc750200718d\"\u003e\u003ccode\u003e89e1d86\u003c/code\u003e\u003c/a\u003e [ty] Preserve TypedDict keys through dict unpacking (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24523\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/86f3064d6fffa5697d174f26b840bd6857b381da\"\u003e\u003ccode\u003e86f3064\u003c/code\u003e\u003c/a\u003e [ty] Avoid accessing \u003ccode\u003eargs[0]\u003c/code\u003e for \u003ccode\u003estatic_assert\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25149\"\u003e#25149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ed819f947dc27e36eac8bb3134153c4668d76a3a\"\u003e\u003ccode\u003eed819f9\u003c/code\u003e\u003c/a\u003e [ty] Treat custom enum \u003ccode\u003e__new__\u003c/code\u003e values as dynamic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25136\"\u003e#25136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.16.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\u003c/p\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.16.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/xpozer/jarvis-windows-standalone/pull/170","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpozer%2Fjarvis-windows-standalone/issues/170","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/170/packages"}},{"old_version":"6.18.0","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-05-17T03:53:22.000Z","version_change":"6.18.0 → 6.20.0","issue":{"uuid":"4462204108","node_id":"PR_kwDOSRhZws7cUMtN","number":4,"state":"closed","title":"chore(deps-dev): bump pyinstaller from 6.18.0 to 6.20.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T09:24:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-17T03:53:22.000Z","updated_at":"2026-05-23T09:24:19.000Z","time_to_close":538255,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.18.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\u003c/p\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=uv\u0026previous-version=6.18.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/libUE4/NBG-code/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/libUE4%2FNBG-code/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"6.19.0","new_version":"6.20.0","update_type":"minor","path":"/requirements","pr_created_at":"2026-05-11T09:19:55.000Z","version_change":"6.19.0 → 6.20.0","issue":{"uuid":"4419587037","node_id":"PR_kwDOB7B4V87aLwc3","number":4500,"state":"open","title":"chore(deps): bump pyinstaller from 6.19.0 to 6.20.0 in /requirements","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-11T09:19:55.000Z","updated_at":"2026-05-11T09:25:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/requirements","ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.19.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.19.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aws-cloudformation/cfn-lint/pull/4500","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcfn-lint/issues/4500","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4500/packages"}},{"old_version":"6.19.0","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-05-04T22:32:18.000Z","version_change":"6.19.0 → 6.20.0","issue":{"uuid":"4380110325","node_id":"PR_kwDORwUiN87YMMPx","number":18,"state":"closed","title":"build(deps): bump the minor-and-patch group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T01:07:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T22:32:18.000Z","updated_at":"2026-05-12T01:07:05.000Z","time_to_close":614085,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":21,"packages":[{"name":"certifi","old_version":"2026.2.25","new_version":"2026.4.22","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.3","repository_url":"https://github.com/pallets/click"},{"name":"cloudpathlib","old_version":"0.23.0","new_version":"0.24.0","repository_url":"https://github.com/drivendataorg/cloudpathlib"},{"name":"fastapi","old_version":"0.115.12","new_version":"0.136.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"idna","old_version":"3.11","new_version":"3.13","repository_url":"https://github.com/kjd/idna"},{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.9.1","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.46.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.3","new_version":"2026.4","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"respx","old_version":"0.22.0","new_version":"0.23.1","repository_url":"https://github.com/lundberg/respx"},{"name":"smart-open","old_version":"7.5.1","new_version":"7.6.0","repository_url":"https://github.com/piskvorky/smart_open"},{"name":"spacy","old_version":"3.8.13","new_version":"3.8.14","repository_url":"https://github.com/explosion/spaCy"},{"name":"typer","old_version":"0.24.1","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.34.3","new_version":"0.46.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.4.22` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.3` |\n| [cloudpathlib](https://github.com/drivendataorg/cloudpathlib) | `0.23.0` | `0.24.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.115.12` | `0.136.1` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.13` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.3` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.9.1` | `2.14.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.5` | `2.46.3` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.19.0` | `6.20.0` |\n| [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib) | `2026.3` | `2026.4` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [respx](https://github.com/lundberg/respx) | `0.22.0` | `0.23.1` |\n| [smart-open](https://github.com/piskvorky/smart_open) | `7.5.1` | `7.6.0` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.13` | `3.8.14` |\n| [typer](https://github.com/fastapi/typer) | `0.24.1` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.34.3` | `0.46.0` |\n\n\nUpdates `certifi` from 2026.2.25 to 2026.4.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\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.04.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\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/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.3\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.3\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.3 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.3/\"\u003ehttps://pypi.org/project/click/8.3.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-3\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/1026\"\u003e#1026\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/1477\"\u003e#1477\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2775\"\u003e#2775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3298\"\u003e#3298\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3299\"\u003e#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3238\"\u003e#3238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/654\"\u003e#654\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/843\"\u003e#843\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/951\"\u003e#951\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3235\"\u003e#3235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3177\"\u003e#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2836\"\u003e#2836\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2837\"\u003e#2837\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3165\"\u003e#3165\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3262\"\u003e#3262\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3280\"\u003e#3280\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3111\"\u003e#3111\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3189\"\u003e#3189\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3250\"\u003e#3250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2865\"\u003e#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2879\"\u003e#2879\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\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.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n:issue:\u003ccode\u003e1026\u003c/code\u003e :pr:\u003ccode\u003e1477\u003c/code\u003e :pr:\u003ccode\u003e2775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. :issue:\u003ccode\u003e3298\u003c/code\u003e :pr:\u003ccode\u003e3299\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. :pr:\u003ccode\u003e3238\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n:issue:\u003ccode\u003e3224\u003c/code\u003e :pr:\u003ccode\u003e3240\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n:issue:\u003ccode\u003e654\u003c/code\u003e :issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e843\u003c/code\u003e :pr:\u003ccode\u003e951\u003c/code\u003e :pr:\u003ccode\u003e3235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. :pr:\u003ccode\u003e3151\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. :pr:\u003ccode\u003e3151\u003c/code\u003e :pr:\u003ccode\u003e3177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. :issue:\u003ccode\u003e2836\u003c/code\u003e :pr:\u003ccode\u003e2837\u003c/code\u003e :pr:\u003ccode\u003e3165\u003c/code\u003e :pr:\u003ccode\u003e3262\u003c/code\u003e :pr:\u003ccode\u003e3280\u003c/code\u003e\n:pr:\u003ccode\u003e3328\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. :issue:\u003ccode\u003e3111\u003c/code\u003e :pr:\u003ccode\u003e3239\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. :issue:\u003ccode\u003e3189\u003c/code\u003e :pr:\u003ccode\u003e3250\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n:issue:\u003ccode\u003e2865\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. :issue:\u003ccode\u003e2879\u003c/code\u003e :pr:\u003ccode\u003e3248\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\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/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0\"\u003e\u003ccode\u003ec06d2d0\u003c/code\u003e\u003c/a\u003e Release 8.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c\"\u003e\u003ccode\u003ef1f191e\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3343\"\u003e#3343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081\"\u003e\u003ccode\u003ebb59ba0\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4\"\u003e\u003ccode\u003e4a35225\u003c/code\u003e\u003c/a\u003e Reduce blast-radius of \u003ccode\u003eUNSET\u003c/code\u003e in \u003ccode\u003edefault_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8\"\u003e\u003ccode\u003ec07bb93\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into unset-in-default-map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995\"\u003e\u003ccode\u003ec7e1ba8\u003c/code\u003e\u003c/a\u003e Reorder \u003ccode\u003eParameterSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda\"\u003e\u003ccode\u003e76552ff\u003c/code\u003e\u003c/a\u003e Show default string in prompt (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c\"\u003e\u003ccode\u003eac5cec5\u003c/code\u003e\u003c/a\u003e Reorder ParameterSource from most to least explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280\"\u003e\u003ccode\u003e8c452e0\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into show-default-string-in-prompt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32\"\u003e\u003ccode\u003e8c95c73\u003c/code\u003e\u003c/a\u003e Reconcile default value passing and default activation (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cloudpathlib` from 0.23.0 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drivendataorg/cloudpathlib/releases\"\u003ecloudpathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for S3 Multi-Region Access Point (MRAP) URLs in \u003ccode\u003eS3Path\u003c/code\u003e (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/556\"\u003e#556\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for Pydantic serialization (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/537\"\u003e#537\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/538\"\u003e#538\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/drivendataorg/cloudpathlib/blob/master/HISTORY.md\"\u003ecloudpathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.0 (2026-04-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for S3 Multi-Region Access Point (MRAP) URLs in \u003ccode\u003eS3Path\u003c/code\u003e (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/556\"\u003e#556\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for Pydantic serialization (Issue \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/537\"\u003e#537\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/pull/538\"\u003e#538\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/drivendataorg/cloudpathlib/commit/1d65750d99ac320b8f46016322d6b8fe1995d90f\"\u003e\u003ccode\u003e1d65750\u003c/code\u003e\u003c/a\u003e Add support for S3 Multi-Region Access Point (MRAP) URLs (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/557\"\u003e#557\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drivendataorg/cloudpathlib/commit/5124aa0a53cfdbaeea71aaccd6e397a686196552\"\u003e\u003ccode\u003e5124aa0\u003c/code\u003e\u003c/a\u003e Reformat with black 26.1.0 (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drivendataorg/cloudpathlib/commit/1ca2eed598119743d92e23e1b8d7585b27b25faa\"\u003e\u003ccode\u003e1ca2eed\u003c/code\u003e\u003c/a\u003e Feat/pydantic serialization (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/538\"\u003e#538\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/drivendataorg/cloudpathlib/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/drivendataorg/cloudpathlib/compare/v0.23.0...v0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.115.12 to 0.136.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.1\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Update Pydantic v2 code to address deprecations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15101\"\u003e#15101\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Tweak translation script. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15174\"\u003e#15174\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15408\"\u003e#15408\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump inline-snapshot from 0.31.1 to 0.32.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15409\"\u003e#15409\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest-codspeed from 4.3.0 to 4.4.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15407\"\u003e#15407\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest-cov from 7.0.0 to 7.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15406\"\u003e#15406\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15405\"\u003e#15405\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mypy from 1.19.1 to 1.20.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15410\"\u003e#15410\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump python-dotenv from 1.2.1 to 1.2.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15400\"\u003e#15400\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump starlette from 0.52.1 to 1.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15397\"\u003e#15397\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15396\"\u003e#15396\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.12.0 to 2.12.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15393\"\u003e#15393\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump zizmor from 1.23.1 to 1.24.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15394\"\u003e#15394\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump strawberry-graphql from 0.312.3 to 0.314.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15395\"\u003e#15395\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump python-multipart from 0.0.22 to 0.0.26. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15360\"\u003e#15360\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump authlib from 1.6.9 to 1.6.11. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15373\"\u003e#15373\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump aiohttp from 3.13.3 to 3.13.4. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15282\"\u003e#15282\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15263\"\u003e#15263\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20.1 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15391\"\u003e#15391\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15333\"\u003e#15333\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 9.0.2 to 9.0.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15334\"\u003e#15334\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15374\"\u003e#15374\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15385\"\u003e#15385\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Update sponsors: remove Zuplo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15369\"\u003e#15369\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Update sponsors: remove Speakeasy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15368\"\u003e#15368\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Add zizmor and fix audit findings. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15316\"\u003e#15316\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Support free-threaded Python 3.14t. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15149\"\u003e#15149\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.4\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove April Fool's \u003ccode\u003e@app.vibe()\u003c/code\u003e 🤪. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15363\"\u003e#15363\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump cryptography from 46.0.5 to 46.0.7. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15314\"\u003e#15314\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump strawberry-graphql from 0.307.1 to 0.312.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15309\"\u003e#15309\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15293\"\u003e#15293\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.3\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/fastapi/fastapi/commit/e54e5a8980ffa6d7ff68ee7b25a1c46036375521\"\u003e\u003ccode\u003ee54e5a8\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9a8a5fd99902c3b80d4cc94b85e120e2b808825f\"\u003e\u003ccode\u003e9a8a5fd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7815a32f2ed177b8b786a48b3e0712c05b5c644f\"\u003e\u003ccode\u003e7815a32\u003c/code\u003e\u003c/a\u003e ⬆️ Update Pydantic v2 code to address deprecations (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15101\"\u003e#15101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ef1c927b0558d414e199a666833942a6fabb3a51\"\u003e\u003ccode\u003eef1c927\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/38039e12a86e67f2001b9b7d96c219691d6cb4af\"\u003e\u003ccode\u003e38039e1\u003c/code\u003e\u003c/a\u003e 🔨 Tweak translation script (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15174\"\u003e#15174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4fa826ce0a3b16884a04f51e5aac95d01790b599\"\u003e\u003ccode\u003e4fa826c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c39415673e621665fdb7bbdde69beba7eb1dfd12\"\u003e\u003ccode\u003ec394156\u003c/code\u003e\u003c/a\u003e ⬆ Bump mkdocs-material from 9.7.1 to 9.7.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15408\"\u003e#15408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ae230ad2f9d90a4e3f6222ff1a5d6e8da41ec0ad\"\u003e\u003ccode\u003eae230ad\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d9eb39d1a1bf2f6e6e5d3a55088f61c712cb864e\"\u003e\u003ccode\u003ed9eb39d\u003c/code\u003e\u003c/a\u003e ⬆ Bump inline-snapshot from 0.31.1 to 0.32.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15409\"\u003e#15409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4f8b5d14d324ae8e15cfae8d85adb4186d4c2175\"\u003e\u003ccode\u003e4f8b5d1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.12...0.136.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.11 to 3.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.13 (2026-04-22)\n+++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect classification error for codepoint U+A7F1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.12 (2026-04-21)\n+++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 17.0.0.\u003c/li\u003e\n\u003cli\u003eIssue a deprecation warning for the transitional argument.\u003c/li\u003e\n\u003cli\u003eAdded lazy-loading to provide some performance improvements.\u003c/li\u003e\n\u003cli\u003eRemoved vestiges of code related to Python 2 support, including\nsegmentation of data structures specific to Jython.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Rodrigo Nogueira for contributions to this release.\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/kjd/idna/commit/89cdfd27338896cee6b1ee18e64c96ac28684ce0\"\u003e\u003ccode\u003e89cdfd2\u003c/code\u003e\u003c/a\u003e Release v3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1eb068687543118147417a8d8a70674e2c172891\"\u003e\u003ccode\u003e1eb0686\u003c/code\u003e\u003c/a\u003e Pre-release 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5f20d1e41eea3b3873d18d83d7a384784f72a92e\"\u003e\u003ccode\u003e5f20d1e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/220\"\u003e#220\u003c/a\u003e from kjd/unicode-next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/4ea84252ab21e62a79e5a3273746112b5dcfb810\"\u003e\u003ccode\u003e4ea8425\u003c/code\u003e\u003c/a\u003e Regenerate idnadata.py with correct NFKC_CF data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/fd47341a08bbdcffda33694211ca4de10170cd41\"\u003e\u003ccode\u003efd47341\u003c/code\u003e\u003c/a\u003e Use NFKC_CF from Unicode data files instead of Python's unicodedata module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a5304a4cdbd7b31595f8ac42ffdfa88f5b936467\"\u003e\u003ccode\u003ea5304a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/219\"\u003e#219\u003c/a\u003e from kjd/release-3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/d80d6f9254d699961fa2c669a1534cde9d4ee5b6\"\u003e\u003ccode\u003ed80d6f9\u003c/code\u003e\u003c/a\u003e Release v3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1bb44ddb3f2a9dcf97a6ac11aba34e5b6ed31291\"\u003e\u003ccode\u003e1bb44dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/218\"\u003e#218\u003c/a\u003e from kjd/release-candidate-3.12rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/909c49d15b8d159be163bccc7972116baffdb47b\"\u003e\u003ccode\u003e909c49d\u003c/code\u003e\u003c/a\u003e Release candidate for 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c5459a10370f005dc09921aee3201b5a45699f9d\"\u003e\u003ccode\u003ec5459a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/217\"\u003e#217\u003c/a\u003e from kjd/housekeeping-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.11...v3.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 26.0 to 26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect sysconfig var name for pyemscripten by \u003ca href=\"https://github.com/ryanking13\"\u003e\u003ccode\u003e@​ryanking13\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1160\"\u003epypa/packaging#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e, \u003ccode\u003eSpecifier\u003c/code\u003e, \u003ccode\u003eSpecifierSet\u003c/code\u003e, \u003ccode\u003eTag\u003c/code\u003e, \u003ccode\u003eMarker\u003c/code\u003e, and \u003ccode\u003eRequirement\u003c/code\u003e pickle-safe\nand backward-compatible with pickles created in 25.0-26.1 (including references to the removed\n\u003ccode\u003epackaging._structures\u003c/code\u003e module) by \u003ca href=\"https://github.com/eachimei\"\u003e\u003ccode\u003e@​eachimei\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1163\"\u003epypa/packaging#1163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1168\"\u003epypa/packaging#1168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1170\"\u003epypa/packaging#1170\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1171\"\u003epypa/packaging#1171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: re-export ExceptionGroup for now by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1164\"\u003epypa/packaging#1164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add errors section and fix missing details by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1159\"\u003epypa/packaging#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(dev): document property-based test suite by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1167\"\u003epypa/packaging#1167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in DirectUrl documentation by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1169\"\u003epypa/packaging#1169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(specifiers): add is_unsatisfiable() usage example by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1166\"\u003epypa/packaging#1166\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInternal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the auditor persona on zizmor by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1158\"\u003epypa/packaging#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest new pickle guarantees by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1174\"\u003epypa/packaging#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse native uv integration in rtd by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1175\"\u003epypa/packaging#1175\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/ryanking13\"\u003e\u003ccode\u003e@​ryanking13\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1160\"\u003epypa/packaging#1160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eachimei\"\u003e\u003ccode\u003e@​eachimei\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1163\"\u003epypa/packaging#1163\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/packaging/compare/26.1...26.2\"\u003ehttps://github.com/pypa/packaging/compare/26.1...26.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e26.1\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cdel\u003ePEP 783: add handling for Emscripten wheel tags by \u003ca href=\"https://github.com/hoodmane\"\u003e\u003ccode\u003e@​hoodmane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/804\"\u003epypa/packaging#804\u003c/a\u003e\u003c/del\u003e (old name used in implementation, will be fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1099\"\u003epypa/packaging#1099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1065\"\u003epypa/packaging#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/944\"\u003epypa/packaging#944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1071\"\u003epypa/packaging#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1119\"\u003epypa/packaging#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1110\"\u003epypa/packaging#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1068\"\u003epypa/packaging#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1146\"\u003epypa/packaging#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1078\"\u003epypa/packaging#1078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1150\"\u003epypa/packaging#1150\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1140\"\u003epypa/packaging#1140\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/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.2 - 2026-04-24\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFixes:\n\u003cul\u003e\n\u003cli\u003eFix incorrect sysconfig var name for pyemscripten in (:pull:\u003ccode\u003e1160\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e, \u003ccode\u003eSpecifier\u003c/code\u003e, \u003ccode\u003eSpecifierSet\u003c/code\u003e, \u003ccode\u003eTag\u003c/code\u003e, \u003ccode\u003eMarker\u003c/code\u003e, and \u003ccode\u003eRequirement\u003c/code\u003e pickle-safe\u003cbr /\u003e\nand backward-compatible with pickles created in 25.0-26.1 (including references to the removed\u003cbr /\u003e\n\u003ccode\u003epackaging._structures\u003c/code\u003e module) (:pull:\u003ccode\u003e1163\u003c/code\u003e, :pull:\u003ccode\u003e1168\u003c/code\u003e, :pull:\u003ccode\u003e1170\u003c/code\u003e, :pull:\u003ccode\u003e1171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRe-export \u003ccode\u003eExceptionGroup\u003c/code\u003e in metadata for now in (:pull:\u003ccode\u003e1164\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd errors section and fix missing details in (:pull:\u003ccode\u003e1159\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument our property-based test suite in (:pull:\u003ccode\u003e1167\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eDirectUrl\u003c/code\u003e typo in (:pull:\u003ccode\u003e1167\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd example of \u003ccode\u003eis_unsatisfiable\u003c/code\u003e in (:pull:\u003ccode\u003e1166\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInternal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the auditor persona on zizmor in (:pull:\u003ccode\u003e1158\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest new pickle guarantees in (:pull:\u003ccode\u003e1174\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse new native ReadTheDocs uv integration in (:pull:\u003ccode\u003e1175\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e26.1 - 2026-04-14\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 783: add handling for Emscripten wheel tags in (:pull:\u003ccode\u003e804\u003c/code\u003e) (old name used in implementation, fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag in (:pull:\u003ccode\u003e1099\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package in (:pull:\u003ccode\u003e1065\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module in (:pull:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module in (:pull:\u003ccode\u003e1071\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) in (:pull:\u003ccode\u003e1119\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags in (:pull:\u003ccode\u003e1110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e in (:pull:\u003ccode\u003e1068\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's in (:pull:\u003ccode\u003e1146\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e in (:pull:\u003ccode\u003e1078\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e in (:pull:\u003ccode\u003e1150\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1140\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026gt;V\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private in (:pull:\u003ccode\u003e1125\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII in (:pull:\u003ccode\u003e1102\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/84a87ee42483d7352f9502d78a9553da8859aa7a\"\u003e\u003ccode\u003e84a87ee\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/4a616b65bed23c8c6d58e6b0fc1a4434d4ff1f14\"\u003e\u003ccode\u003e4a616b6\u003c/code\u003e\u003c/a\u003e docs: a few more updates to prepare for 26.2 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9de6f44f1e82d4595edf3aad1c4f6f98c85935a0\"\u003e\u003ccode\u003e9de6f44\u003c/code\u003e\u003c/a\u003e ci: use native uv integration in rtd (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/bc76e14debd1a2799d1ca8f9d9c9823f35bfa466\"\u003e\u003ccode\u003ebc76e14\u003c/code\u003e\u003c/a\u003e chore: update changelog for 26.2 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1161\"\u003e#1161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3f00091c08f0aa830e33ed7db00f16f11c8ac97f\"\u003e\u003ccode\u003e3f00091\u003c/code\u003e\u003c/a\u003e tests: add a pickle check (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1174\"\u003e#1174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/48a8a069805291186522de3eff73ea80a8ca96ad\"\u003e\u003ccode\u003e48a8a06\u003c/code\u003e\u003c/a\u003e fix: make Requirements/Markers pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1171\"\u003e#1171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/823b44ed1f904084a77ae3adf0ef130af6365f84\"\u003e\u003ccode\u003e823b44e\u003c/code\u003e\u003c/a\u003e fix: make Tags pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1170\"\u003e#1170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/4bed32d920ca7211dd65fdf0a1ee06376e9c4733\"\u003e\u003ccode\u003e4bed32d\u003c/code\u003e\u003c/a\u003e fix: make Specifier / SpecifierSet pickle-safe (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/963118e37caae97bc8b72f72956c7fb4ca9857ec\"\u003e\u003ccode\u003e963118e\u003c/code\u003e\u003c/a\u003e fix: re-export ExceptionGroup for now (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/66e34a80256c96dea11da143682950c84b8133bb\"\u003e\u003ccode\u003e66e34a8\u003c/code\u003e\u003c/a\u003e docs(specifiers): add is_unsatisfiable() usage example (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/26.0...26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.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.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting 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/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux 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/13064\"\u003e#13064\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data 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/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9e9a11132c980c4ec84ff6d2df06d4c1a55ca8f3\"\u003e\u003ccode\u003e9e9a111\u003c/code\u003e\u003c/a\u003e Fix backported test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1ec8c6aa0cae1c78409c6f31af738a24e16c7124\"\u003e\u003ccode\u003e1ec8c6a\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/fb4f2044436e9fa4ff9745479ce263016a99c4d6\"\u003e\u003ccode\u003efb4f204\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.9.1 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing env vars into Optional Strict types by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/792\"\u003epydantic/pydantic-settings#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RecursionError with mutually recursive models in CLI by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/794\"\u003epydantic/pydantic-settings#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix env_file from model_config ignored in CliApp.run() (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/795\"\u003e#795\u003c/a\u003e) by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/796\"\u003epydantic/pydantic-settings#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/798\"\u003epydantic/pydantic-settings#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Dependabot configuration by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/801\"\u003epydantic/pydantic-settings#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump samuelcolvin/check-python-version from 4.1 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/802\"\u003epydantic/pydantic-settings#802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 7 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/pydantic/pydantic-settings/pull/803\"\u003epydantic/pydantic-settings#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/804\"\u003epydantic/pydantic-settings#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 5 to 7 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/pydantic/pydantic-settings/pull/805\"\u003epydantic/pydantic-settings#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/806\"\u003epydantic/pydantic-settings#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore chardet and group GitHub Actions in Dependabot by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/808\"\u003epydantic/pydantic-settings#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 4 to 8 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/pydantic/pydantic-settings/pull/809\"\u003epydantic/pydantic-settings#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/810\"\u003epydantic/pydantic-settings#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport reading .env files from FIFOs (e.g. 1Password Environments) by \u003ca href=\"https://github.com/JacobHayes\"\u003e\u003ccode\u003e@​JacobHayes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/776\"\u003epydantic/pydantic-settings#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix AliasChoices ignored when changing provider priority by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/813\"\u003epydantic/pydantic-settings#813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve KeyError in run_subcommand for underscore field names by \u003ca href=\"https://github.com/bradykieffer\"\u003e\u003ccode\u003e@​bradykieffer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/799\"\u003epydantic/pydantic-settings#799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/814\"\u003epydantic/pydantic-settings#814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eLiteral[numeric Enum]\u003c/code\u003e coercion for CLI and env vars by \u003ca href=\"https://github.com/m9810223\"\u003e\u003ccode\u003e@​m9810223\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/811\"\u003epydantic/pydantic-settings#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nested discriminated unions not discovered by env/CLI providers by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/816\"\u003epydantic/pydantic-settings#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/820\"\u003epydantic/pydantic-settings#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI ensure env nested max split internally. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/821\"\u003epydantic/pydantic-settings#821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages group 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/pydantic/pydantic-settings/pull/824\"\u003epydantic/pydantic-settings#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eboto3-stubs\u003c/code\u003e to \u003ccode\u003etypes-boto3\u003c/code\u003e by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/831\"\u003epydantic/pydantic-settings#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CLI not recog...\n\n_Description has been truncated_","html_url":"https://github.com/saagpatel/JobMarketHeatmap/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/saagpatel%2FJobMarketHeatmap/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"6.19.0","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-04-28T02:38:30.000Z","version_change":"6.19.0 → 6.20.0","issue":{"uuid":"4340184080","node_id":"PR_kwDOQkCN-s7WLnv1","number":45,"state":"open","title":"chore(deps-dev): bump pyinstaller from 6.19.0 to 6.20.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T02:38:30.000Z","updated_at":"2026-04-28T02:38:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.19.0 to 6.20.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.19.0\u0026new-version=6.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Lab700xOrg/aisbom/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lab700xOrg%2Faisbom/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"}},{"old_version":"\u003e=5.13.0","new_version":"\u003e=6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-04-27T22:42:34.000Z","version_change":"\u003e=5.13.0 → \u003e=6.20.0","issue":{"uuid":"4339293699","node_id":"PR_kwDOQBzOXs7WIvUc","number":3,"state":"open","title":"Update pyinstaller requirement from \u003e=5.13.0 to \u003e=6.20.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T22:42:34.000Z","updated_at":"2026-04-27T22:42:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"pyinstaller","old_version":"\u003e=5.13.0","new_version":"\u003e=6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v5.13.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/1110101/FileMover/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/1110101%2FFileMover/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"6.19.0","new_version":"6.20.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T12:33:24.000Z","version_change":"6.19.0 → 6.20.0","issue":{"uuid":"4322921557","node_id":"PR_kwDOR43LXc7VVPT-","number":4,"state":"closed","title":"chore(deps): update pip: bump the pip-version-updates group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T12:38:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T12:33:24.000Z","updated_at":"2026-05-22T12:38:44.000Z","time_to_close":2419518,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update pip: bump","group_name":"pip-version-updates","update_count":13,"packages":[{"name":"boto3","old_version":"1.42.78","new_version":"1.42.95","repository_url":"https://github.com/boto/boto3"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"keyring","old_version":"24.3.1","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"cryptography","old_version":"46.0.6","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"nuitka","old_version":"4.0.7","new_version":"4.0.8","repository_url":"https://github.com/Nuitka/Nuitka"},{"name":"pyinstaller","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"ruff","old_version":"0.15.8","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.2","repository_url":"https://github.com/python/mypy"},{"name":"types-requests","old_version":"2.33.0.20260327","new_version":"2.33.0.20260408","repository_url":"https://github.com/python/typeshed"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-version-updates group with 13 updates in the /source directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.42.78` | `1.42.95` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [keyring](https://github.com/jaraco/keyring) | `24.3.1` | `25.7.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.6` | `46.0.7` |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [nuitka](https://github.com/Nuitka/Nuitka) | `4.0.7` | `4.0.8` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.19.0` | `6.20.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.8` | `0.15.11` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.2` |\n| [types-requests](https://github.com/python/typeshed) | `2.33.0.20260327` | `2.33.0.20260408` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n\n\nUpdates `boto3` from 1.42.78 to 1.42.95\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a47ce816eb1f088956353335f2bd2cd56b6b1fc6\"\u003e\u003ccode\u003ea47ce81\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.95'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/03cc5cdf7c550b4a36d43f07745f77aa9dbc0c9a\"\u003e\u003ccode\u003e03cc5cd\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.95\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ab160a576b0e6e150a9752837fe5e52961ae7349\"\u003e\u003ccode\u003eab160a5\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/10094042f04226ec32ae43a7051c2635bc033164\"\u003e\u003ccode\u003e1009404\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.94'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0017b80aa909dd8e95cfde8f79345cef8bcafc66\"\u003e\u003ccode\u003e0017b80\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.94' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d13e367c401e838057f876a19eb9b452a9503b66\"\u003e\u003ccode\u003ed13e367\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.94\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7ddb8f520ab750d7ac3d1648efe5ecc01c511ca3\"\u003e\u003ccode\u003e7ddb8f5\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/7b0e06b6050fde742f32918dae42b4ffac8f5930\"\u003e\u003ccode\u003e7b0e06b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8.0.0 to 9.0.0 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/30acde73678f9eddb46f4a56a93dbc8e923210ff\"\u003e\u003ccode\u003e30acde7\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.93'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5e30d509d8baee43593bb4ede873714f4b428f4b\"\u003e\u003ccode\u003e5e30d50\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.93' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.78...1.42.95\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\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.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\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/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\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/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\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/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `keyring` from 24.3.1 to 25.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaraco/keyring/blob/main/NEWS.rst\"\u003ekeyring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev25.7.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for KWallet 6. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved cruft from Python 3.8. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.6.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid logging a warning when config does not specify a backend. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.5.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing \u003ccode\u003ekeyring_path\u003c/code\u003e from the config, the home directory is now expanded from \u003ccode\u003e~\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/696\"\u003e#696\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIn get_credential, now returns None when the indicated username is not found. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.4.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ValueError for AnonymousCredentials in CLI. (\u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev25.4.0\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/38c040133559682902f25fe96496756ee6849820\"\u003e\u003ccode\u003e38c0401\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/e5b7d2a20931fa7f4d53e28eb5dffceb2e82ba6b\"\u003e\u003ccode\u003ee5b7d2a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Disable type checking on filter call. Fixes \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/659\"\u003e#659\u003c/a\u003e.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/2ce2d465050d73db8b1b7662c4e53c7b6fa7aafc\"\u003e\u003ccode\u003e2ce2d46\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/4bb5ece9a6959ee71ec464595f64e88951d00fb6\"\u003e\u003ccode\u003e4bb5ece\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/722\"\u003e#722\u003c/a\u003e from hugovk/rm-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/d7c0aa4e1dbfcde3064c1448dc1fd09c76e93d1d\"\u003e\u003ccode\u003ed7c0aa4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into rm-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/ea1d763bfd80bf7cedd95fb040d38fc1d29c3e87\"\u003e\u003ccode\u003eea1d763\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/721\"\u003e#721\u003c/a\u003e from hugovk/fix-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/30eea9d7769b167be0667ea3aa3722c762e20659\"\u003e\u003ccode\u003e30eea9d\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://github.com/jaraco/skeleton\"\u003ehttps://github.com/jaraco/skeleton\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/fb6e52cf3f511242f0a9ff2441eb7e29c67f7268\"\u003e\u003ccode\u003efb6e52c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jaraco/keyring/issues/724\"\u003e#724\u003c/a\u003e from dachucky/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/9ff845920c4c72031343b17c6a3d605e6247f081\"\u003e\u003ccode\u003e9ff8459\u003c/code\u003e\u003c/a\u003e Generalize the guidance around tox.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaraco/keyring/commit/e7fbfa76a1f675bede0f5654e99add3a0cd66370\"\u003e\u003ccode\u003ee7fbfa7\u003c/code\u003e\u003c/a\u003e Prefer imperative third-person voice.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaraco/keyring/compare/v24.3.1...v25.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.6 to 46.0.7\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.7 - 2026-04-07\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed an issue where non-contiguous buffers could be\n  passed to APIs that accept Python buffers, which could lead to buffer\n  overflow. **CVE-2026-39892**\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.6.\n\u003cp\u003e.. _v46-0-6:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/622d672e429a7cff836a23c5903683dbec1901f5\"\u003e\u003ccode\u003e622d672\u003c/code\u003e\u003c/a\u003e 46.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14602\"\u003e#14602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.6...46.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.3 to 15.0.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 So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Startup Release\u003c/h2\u003e\n\u003cp\u003eNo new features in this release, but there should be improved startup time for Rich apps, and potentially improved runtime if you have a lot of links.\u003c/p\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.3...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.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.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\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.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\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.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\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.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting 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/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux 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/13064\"\u003e#13064\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\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\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\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/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.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\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\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 \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\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/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data 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/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9e9a11132c980c4ec84ff6d2df06d4c1a55ca8f3\"\u003e\u003ccode\u003e9e9a111\u003c/code\u003e\u003c/a\u003e Fix backported test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1ec8c6aa0cae1c78409c6f31af738a24e16c7124\"\u003e\u003ccode\u003e1ec8c6a\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/fb4f2044436e9fa4ff9745479ce263016a99c4d6\"\u003e\u003ccode\u003efb4f204\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\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/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nuitka` from 4.0.7 to 4.0.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/72a919835db2022a5db14ef64304dd2f18fe13b4\"\u003e\u003ccode\u003e72a9198\u003c/code\u003e\u003c/a\u003e Merge branch 'hotfix/4.0.8'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/d7c4f6d7f951d0874d306c674395bbdb04461a83\"\u003e\u003ccode\u003ed7c4f6d\u003c/code\u003e\u003c/a\u003e New hotfix release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/858250800de56eac6432cf97f1be0ed1df205dcb\"\u003e\u003ccode\u003e8582508\u003c/code\u003e\u003c/a\u003e Python2: Fix, FileNotFoundError is more than one exception actually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/505917f202379f542fe5f87b7511b1fb2a2e3436\"\u003e\u003ccode\u003e505917f\u003c/code\u003e\u003c/a\u003e Plugins: Added support for multiprocessing forkserver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/f09c94258c1b68a91ca8fd22330ae781c6bac342\"\u003e\u003ccode\u003ef09c942\u003c/code\u003e\u003c/a\u003e Python3.11: Fix 'ags-as-a-type-variable-tuple` in PEP 646 (\u003ca href=\"https://redirect.github.com/Nuitka/Nuitka/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/082ee0e55cb495769ddd7d9ec15d781249ba73c3\"\u003e\u003ccode\u003e082ee0e\u003c/code\u003e\u003c/a\u003e Python3.13: Fix the \u003ccode\u003e__parameters__\u003c/code\u003e attribute of generic classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/c8e08e90fc4b58e83819795f1d8672cf4a2a0912\"\u003e\u003ccode\u003ec8e08e9\u003c/code\u003e\u003c/a\u003e Python3.10: Added support for \u0026quot;importlib.metadata.package_distributions()\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/990ae58d5a3495f11957025935f31dceb3a3efa5\"\u003e\u003ccode\u003e990ae58\u003c/code\u003e\u003c/a\u003e Optimization: For Linux profiling, cache the \u0026quot;syscall\u0026quot; and don't load libc fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/c7b661e7b399938f534e492f9342b5fbd090c7ac\"\u003e\u003ccode\u003ec7b661e\u003c/code\u003e\u003c/a\u003e Visual Code: Ignore generated file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nuitka/Nuitka/commit/99e705d583f79b8633e7c378b1231d561e6a5976\"\u003e\u003ccode\u003e99e705d\u003c/code\u003e\u003c/a\u003e Fix, had missing exception-exit annotations for dict pop/setdefault walrus re...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Nuitka/Nuitka/compare/4.0.7...4.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.19.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.20.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.20.0/CHANGES.html#id1\"\u003ev6.20.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.19.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.20.0 (2026-04-22)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Linux) Fix binary dependency analysis in Termux environment; previously,\n  no binary dependencies would be reported due to mismatched ``ldd`` output\n  pattern. (:issue:`9402`)\n* (Linux) Fix compatibility issues with Termux python 3.13, caused by\n  platform being now reported as \u0026quot;android\u0026quot; instead of \u0026quot;linux\u0026quot; (PEP 738).\n  (:issue:`9398`)\n* (macOS) Fix built-time error when trying to create an .app bundle with\n  data collected from a directory that contains symlinked elements.\n  (:issue:`9375`)\n* Fix the ``forkserver`` spawn mode of ``multiprocessing`` under python\n  3.13.13, 3.14.4, and the upcoming 3.15. (:issue:`9423`)\n* Remove warning about non-existing ``tclX`` module directory; in some Tcl\n  distributions (e.g., Debian-packaged Tcl), this directory is located\n  under the main library/data directory, and therefore the stand-alone\n  directory neither exists nor needs to be explicitly collected.\n  (:issue:`9401`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Prevent the run-time hook for ``gi.repository.GLib`` from overriding\n  the implicit default value of the ``XDG_DATA_DIRS`` environment\n  variable (i.e., ``/usr/local/share/:/usr/share/``) when adding the\n  frozen application's top-level directory to the list of data directories.\n  (:issue:`9422`)\n* Update ``gi.repository.Gio`` hook to collect corresponding platform-specific\n  typelib (``GioWin32`` or ``GioUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n* Update ``gi.repository.GLib`` hook to collect corresponding platform-specific\n  typelib (``GLibWin32`` or ``GLibUnix``), and add hooks for these modules.\n  This aims to prevent potential run-time errors, either because the typelib\n  is missing, or because it was opportunistically loaded from the run-time\n  system and happens to be of incompatible version. (:issue:`9410`)\n\n\nBootloader\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;(Windows) Add new option to the \u0026lt;code\u0026gt;waf\u0026lt;/code\u0026gt; build script, \u0026lt;code\u0026gt;--no-cfg\u0026lt;/code\u0026gt;,\nthat allows bootloader to be built without Control Flow Guard (CFG)\nenabled. Applicable only when building with MSVC toolchain. (:issue:\u0026lt;code\u0026gt;9352\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;!-- raw HTML omitted --\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/8a6172796b56aa428980c3628663ba08e77ad81e\u0026quot;\u0026gt;\u0026lt;code\u0026gt;8a61727\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.20.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/151ff76940748960452b3186b6885758d94841dc\u0026quot;\u0026gt;\u0026lt;code\u0026gt;151ff76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 16 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9431\u0026quot;\u0026gt;#9431\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/4d28a528f8ab8632f7cfa7662fc6fcc45881e741\u0026quot;\u0026gt;\u0026lt;code\u0026gt;4d28a52\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 15 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9429\u0026quot;\u0026gt;#9429\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/881ee26d446a574c9bed14d4e8fd40628c7c1a93\u0026quot;\u0026gt;\u0026lt;code\u0026gt;881ee26\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_path_encodings: ensure that custom tmp dir exists\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/b42c9421158d9a6069274f1af848549cc527afb7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;b42c942\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: test_bundled_shell_script: fix for Termux without /usr symlink\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/afc1b27baac552e985bd3f365eac401db1ca8189\u0026quot;\u0026gt;\u0026lt;code\u0026gt;afc1b27\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: termux: use primary mirror and perform initial package upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/1c29fab7926c3ee4d185587f29ea015b41b955b5\u0026quot;\u0026gt;\u0026lt;code\u0026gt;1c29fab\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Fix multiprocessing with forkserver in python 3.13.13 and 3.14.4\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/3eab93a1c006c9fd2e45174d9f54b8a981cc319d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;3eab93a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: have setup-python check for latest version of python\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/929b186d3f451317deac6eae7663ba2e8726f75f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;929b186\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; rthook: do not overwrite XDG_DATA_DIRS fallback value (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9422\u0026quot;\u0026gt;#9422\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/722dbd189a7e8e572af6133848e6057aa44e945f\u0026quot;\u0026gt;\u0026lt;code\u0026gt;722dbd1\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 14 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9419\u0026quot;\u0026gt;#9419\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.19.0...v6.20.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `ruff` from 0.15.8 to 0.15.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-16.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003eRUF029\u003c/code\u003e when function is decorated with \u003ccode\u003easynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24642\"\u003e#24642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-xcom-pull-in-template-string\u003c/code\u003e (\u003ccode\u003eAIR201\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23583\"\u003e#23583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix \u003ccode\u003eS103\u003c/code\u003e false positives and negatives in mask analysis (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24424\"\u003e#24424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Omit overridden methods for \u003ccode\u003eASYNC109\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24648\"\u003e#24648\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Add override mention to \u003ccode\u003eASYNC109\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Neovim config examples to use \u003ccode\u003evim.lsp.config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24577\"\u003e#24577\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/benberryallwood\"\u003e\u003ccode\u003e@​benberryallwood\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.11\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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.11\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/ruff/releases/download/0.15.11/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-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/ruff/releases/download/0.15.11/ruff-i686-pc-windows-msvc.zip\"\u003eruff-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/ruff/releases/download/0.15.11/ruff-i686-pc-windows-msvc.zip.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/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.11\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-16.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Ignore \u003ccode\u003eRUF029\u003c/code\u003e when function is decorated with \u003ccode\u003easynccontextmanager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24642\"\u003e#24642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-xcom-pull-in-template-string\u003c/code\u003e (\u003ccode\u003eAIR201\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23583\"\u003e#23583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix \u003ccode\u003eS103\u003c/code\u003e false positives and negatives in mask analysis (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24424\"\u003e#24424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Omit overridden methods for \u003ccode\u003eASYNC109\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24648\"\u003e#24648\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Add override mention to \u003ccode\u003eASYNC109\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Neovim config examples to use \u003ccode\u003evim.lsp.config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24577\"\u003e#24577\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\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/benberryallwood\"\u003e\u003ccode\u003e@​benberryallwood\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-09.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging\u003c/code\u003e] Allow closures in except handlers (\u003ccode\u003eLOG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24464\"\u003e#24464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Make \u003ccode\u003eSLF\u003c/code\u003e diagnostics robust to non-self-named variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24281\"\u003e#24281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Make the fix for \u003ccode\u003ecollapsible-if\u003c/code\u003e safe in \u003ccode\u003epreview\u003c/code\u003e (\u003ccode\u003eSIM102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24371\"\u003e#24371\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid emitting multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24377\"\u003e#24377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error from \u003ccode\u003eE502\u003c/code\u003e fixes in f-strings and t-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24410\"\u003e#24410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip form feeds from indent passed to \u003ccode\u003ededent_to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24381\"\u003e#24381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix panic caused by handling of octals (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24390\"\u003e#24390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24355\"\u003e#24355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat f-string interpolation as potential side effect (\u003ccode\u003eRUF019\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\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/ruff/commit/53554b1cfe837f2eb992a81794480699478f1116\"\u003e\u003ccode\u003e53554b1\u003c/code\u003e\u003c/a\u003e Bump 0.15.11 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24678\"\u003e#24678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/08c56c83cffbb1025cbf5bdede6c6d8be591cf47\"\u003e\u003ccode\u003e08c56c8\u003c/code\u003e\u003c/a\u003e Factor out the \u003ccode\u003emdtest\u003c/code\u003e crate (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24616\"\u003e#24616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/725fbb736d2a999971449b61190b914abd26102a\"\u003e\u003ccode\u003e725fbb7\u003c/code\u003e\u003c/a\u003e [ty] Use partially qualified names when reporting diagnostics regarding bad c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ddd6a30ff5fa27694dc1c50d0749885a1519d0a7\"\u003e\u003ccode\u003eddd6a30\u003c/code\u003e\u003c/a\u003e [ty] Do not suggest argument completion when at value of keyword argument (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9282e61d482a36da08d66bb8271afeef50b3bc45\"\u003e\u003ccode\u003e9282e61\u003c/code\u003e\u003c/a\u003e Disallow \u003ca href=\"https://github.com/disjoint\"\u003e\u003ccode\u003e@​disjoint\u003c/code\u003e\u003c/a\u003e_base on TypedDicts and Protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24671\"\u003e#24671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9986d8e3008eefe2e387312c4dc8b9c60f6f362\"\u003e\u003ccode\u003ee9986d8\u003c/code\u003e\u003c/a\u003e [ty] Reject using properties with \u003ccode\u003eNever\u003c/code\u003e setters or deleters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24510\"\u003e#24510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9cf212ff82f7b66b4a275ad6a9b1564aee1fa4a8\"\u003e\u003ccode\u003e9cf212f\u003c/code\u003e\u003c/a\u003e [ty] Normalize property setter and deleter wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24509\"\u003e#24509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/12a1589de4d7120cf99441ee4c14871bdc20968d\"\u003e\u003ccode\u003e12a1589\u003c/code\u003e\u003c/a\u003e Add override mention to ASYNC109 docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24666\"\u003e#24666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dccb03d010f4442ed60624f8d2ba932706abaabb\"\u003e\u003ccode\u003edccb03d\u003c/code\u003e\u003c/a\u003e [ty] Avoid panicking on overloaded \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24661\"\u003e#24661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/61f9a0a5763fb068cd2f26c0ee9d63a277fb26c2\"\u003e\u003ccode\u003e61f9a0a\u003c/code\u003e\u003c/a\u003e [ty] Sync vendored typeshed stubs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24646\"\u003e#24646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.8...0.15.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.1 to 1.20.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.20.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse WAL with SQLite cache and fix close (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21154\"\u003e21154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust SQLite journal mode (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21217\"\u003e21217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly aggregate narrowing information on parent expressions (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21206\"\u003e21206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression related to generic callables (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21208\"\u003e21208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression by avoiding widening types in some contexts (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21242\"\u003e21242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix slicing in non-strict optional mode (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21282\"\u003e21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emypyc: Fix match statement semantics for \u0026quot;or\u0026quot; pattern (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21156\"\u003e21156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emypyc: Fix issue with module dunder attributes (Piotr Sawicki, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21275\"\u003e21275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInitial support for Python 3.15.0a8 (Marc Mueller, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/21255\"\u003e21255\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eAaron Wieczorek\u003c/li\u003e\n\u003cli\u003eAdam Turner\u003c/li\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003easce\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrent Westbrook\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChris Burroughs\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eColin Watson\u003c/li\u003e\n\u003cli\u003eDonghoon Nam\u003c/li\u003e\n\u003cli\u003eE. M. Bray\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eGeorge Ogden\u003c/li\u003e\n\u003cli\u003egetzze\u003c/li\u003e\n\u003cli\u003egrayjk\u003c/li\u003e\n\u003cli\u003eGregor Riepl\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilliard\u003c/li\u003e\n\u003cli\u003eJames Le Cuirot\u003c/li\u003e\n\u003cli\u003eJeremy Nimmer\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKai (Kazuya Ito)\u003c/li\u003e\n\u003cli\u003ekaushal trivedi\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eLukas Geiger\u003c/li\u003e\n\u003cli\u003eŁukasz Langa\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael R. Crusoe\u003c/li\u003e\n\u003cli\u003emichaelm-openai\u003c/li\u003e\n\u003cli\u003eNeil Schemenauer\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/145a062651b5f9996b75ef32b7040bd2e885ed82\"\u003e\u003ccode\u003e145a062\u003c/code\u003e\u003c/a\u003e Bump version to 1.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/81cd49215c288eacb987de066f02daff2553b7c7\"\u003e\u003ccode\u003e81cd492\u003c/code\u003e\u003c/a\u003e Fix slicing with nonstrict optional (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/908d3441eecbaa2a6193165317177db834d7ca1a\"\u003e\u003ccode\u003e908d344\u003c/code\u003e\u003c/a\u003e [mypyc] Set dunder attrs when adding module to sys.modules (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21275\"\u003e#21275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ba28610fac9d2b33be210ca8dcfe4bc47b7af424\"\u003e\u003ccode\u003eba28610\u003c/code\u003e\u003c/a\u003e Initial support for Python 3.15.0a8 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21255\"\u003e#21255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7b0e09f48dbd3717ed008a273cd17e8e960c2037\"\u003e\u003ccode\u003e7b0e09f\u003c/code\u003e\u003c/a\u003e Fix match statement semantics for \u0026quot;or\u0026quot; pattern (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21156\"\u003e#21156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/92b74f226de62f7505f5ef5cb158e8ec9c58b8b7\"\u003e\u003ccode\u003e92b74f2\u003c/code\u003e\u003c/a\u003e Avoid widening types in conditional_types (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21242\"\u003e#21242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0dcbfaa40b0e360a16baea9cf851955375d91b54\"\u003e\u003ccode\u003e0dcbfaa\u003c/code\u003e\u003c/a\u003e Fix is_overlapping_types for generic callables (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21208\"\u003e#21208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/210f518dede35292033ef0d387847406a0ccef8f\"\u003e\u003ccode\u003e210f518\u003c/code\u003e\u003c/a\u003e Correctly aggregate narrowing information on parent expressions (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21206\"\u003e#21206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c34530e53a10e385d8b0f1af4baa88a596b5ceaa\"\u003e\u003ccode\u003ec34530e\u003c/code\u003e\u003c/a\u003e Only set journal mode in coordinator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21217\"\u003e#21217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/79a3ec6d01b56a27c00e9b3320c2b1d4d73a77f9\"\u003e\u003ccode\u003e79a3ec6\u003c/code\u003e\u003c/a\u003e Use WAL with SQLite cache, fix close (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21154\"\u003e#21154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.1...v1.20.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.33.0.20260327 to 2.33.0.20260408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/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\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/thi-dinh-iconic/guidance-for-claude-code-with-amazon-bedrock/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thi-dinh-iconic%2Fguidance-for-claude-code-with-amazon-bedrock/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"6.14.2","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-04-13T18:02:26.000Z","version_change":"6.14.2 → 6.19.0","issue":{"uuid":"4256887333","node_id":"PR_kwDOPTHPGM7SEfFv","number":6,"state":"closed","title":"Bump the python-packages group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T00:13:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T18:02:26.000Z","updated_at":"2026-05-12T00:13:51.000Z","time_to_close":2441484,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":7,"packages":[{"name":"beautifulsoup4","old_version":"4.7.1","new_version":"4.14.3"},{"name":"lxml","old_version":"6.0.0","new_version":"6.0.4","repository_url":"https://github.com/lxml/lxml"},{"name":"xmltodict","old_version":"0.11.0","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"},{"name":"pyinstaller","old_version":"6.14.2","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pymupdf","old_version":"1.26.3","new_version":"1.26.5","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"markdown","old_version":"3.8.2","new_version":"3.9","repository_url":"https://github.com/Python-Markdown/markdown"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/), [lxml](https://github.com/lxml/lxml), [xmltodict](https://github.com/martinblech/xmltodict), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pymupdf](https://github.com/pymupdf/pymupdf), [markdown](https://github.com/Python-Markdown/markdown) and [setuptools](https://github.com/pypa/setuptools) to permit the latest version.\nUpdates `beautifulsoup4` from 4.7.1 to 4.14.3\n\nUpdates `lxml` from 6.0.0 to 6.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.4 (2026-04-12)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2148019: Spurious MemoryError during namespace cleanup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.3 (2026-04-09)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral out of memory error cases now raise \u003ccode\u003eMemoryError\u003c/code\u003e that were not handled before.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSlicing with large step values (outside of \u003ccode\u003e+/- sys.maxsize\u003c/code\u003e) could trigger undefined C behaviour.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125399: Some failing tests were fixed or disabled in PyPy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2138421: Memory leak in error cases when setting the \u003ccode\u003epublic_id\u003c/code\u003e or \u003ccode\u003esystem_url\u003c/code\u003e of a document.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMemory leak in case of a memory allocation failure when copying document subtrees.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen mapping an XPath result to Python failed, the result memory could leak.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen preparing an XSLT transform failed, the XSLT parameter memory could leak.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuilt using Cython 3.2.4.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use zlib 1.3.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.2 (2025-09-21)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125278: Compilation with libxml2 2.15.0 failed.\nOriginal patch by Xi Ruoyao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetting \u003ccode\u003edecompress=True\u003c/code\u003e in the parser had no effect in libxml2 2.15.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels on Linux and macOS use the library version libxml2 2.14.6.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/1fd1d6bc300bcd9a41def810c5fc3223811b579e\"\u003e\u003ccode\u003e1fd1d6b\u003c/code\u003e\u003c/a\u003e Fix release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/515485906ccdd89b61088e390f65f39e4c205158\"\u003e\u003ccode\u003e5154859\u003c/code\u003e\u003c/a\u003e CI: Include all library versions in libs cache key to asssure updated on vers...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6a606f32724060fe0465cd38d6fb7e6e22e7ef81\"\u003e\u003ccode\u003e6a606f3\u003c/code\u003e\u003c/a\u003e Add \u0026quot;doesn't crash\u0026quot; tests for LP#2148019.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f488f16d20014c0dfde59cd2930b41604bcc3c8d\"\u003e\u003ccode\u003ef488f16\u003c/code\u003e\u003c/a\u003e Prepare release of 6.0.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/1255d98f168672639c46cb6419a97e31026e8086\"\u003e\u003ccode\u003e1255d98\u003c/code\u003e\u003c/a\u003e LP#2148019: Prevent spurious MemoryError during namespace cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/03b0c4aa1aded486f2e4a04cf5c329524df73c57\"\u003e\u003ccode\u003e03b0c4a\u003c/code\u003e\u003c/a\u003e Remove dead type check.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a6f833c7e187c17d5087d29227e066d94490280f\"\u003e\u003ccode\u003ea6f833c\u003c/code\u003e\u003c/a\u003e Fix release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/973d059449a66799f468b46f4b12c95e32cff5e9\"\u003e\u003ccode\u003e973d059\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9044a52ce26a3ccf48b6cad8031234a0ddf7612b\"\u003e\u003ccode\u003e9044a52\u003c/code\u003e\u003c/a\u003e Build: Downgrade libiconv to 1.18 since 1.19 does not build reliably.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a34dfdd593368fc444f6b66d03fd60d76966c9d2\"\u003e\u003ccode\u003ea34dfdd\u003c/code\u003e\u003c/a\u003e Build: Upgrade libiconv to 1.19.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.0.0...lxml-6.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xmltodict` from 0.11.0 to 1.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/martinblech/xmltodict/releases\"\u003exmltodict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.3...v1.0.4\"\u003e1.0.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e add bytes_errors policy and handle bytes scalars consistently (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003eed70434\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.2...v1.0.3\"\u003e1.0.3\u003c/a\u003e (2026-02-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003eaa16511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereadme:\u003c/strong\u003e fix Fedora and Arch package links (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003efd6a73b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.1...v1.0.2\"\u003e1.0.2\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow DOCTYPE with disable_entities=True (default) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/25b61a41f580cfc211df07c5fbbf603bd8eb5a5f\"\u003e25b61a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.0...v1.0.1\"\u003e1.0.1\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efail closed when entities disabled (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/c986d2d37a93d45fcc059b09063d9d9c45a655ec\"\u003ec986d2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate XML comments (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/3d4d2d3a4cd0f68d1211dba549010261fa87b969\"\u003e3d4d2d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd SECURITY.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/64130233c8fea272a5f82f2f585e1593523ec1b1\"\u003e6413023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify behavior for empty lists (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2025b5cb5e64fc9c4d54b8644187a0a193bdd0ed\"\u003e2025b5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify process_comments docs (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/6b464fce284a93dbb292f3d063c9f310a478a014\"\u003e6b464fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify strip whitespace comment behavior (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/b3e22032d21cc387d6cecf3930116e8fdc3151cf\"\u003eb3e2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate AGENTS.md for coding agents (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/0da66ee797ced7479312aecef92c6a25e235007c\"\u003e0da66ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace travis with actions badge (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2576b94c918fbd154489a95dbbb3feda8bd3cbd8\"\u003e2576b94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/db3918057cf125af989a1263d52df8df5ef8c642\"\u003edb39180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/martinblech/xmltodict/blob/master/CHANGELOG.md\"\u003exmltodict's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.3...v1.0.4\"\u003e1.0.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e add bytes_errors policy and handle bytes scalars consistently (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003eed70434\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.2...v1.0.3\"\u003e1.0.3\u003c/a\u003e (2026-02-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eunparse:\u003c/strong\u003e serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003eaa16511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereadme:\u003c/strong\u003e fix Fedora and Arch package links (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003efd6a73b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.1...v1.0.2\"\u003e1.0.2\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow DOCTYPE with disable_entities=True (default) (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/25b61a41f580cfc211df07c5fbbf603bd8eb5a5f\"\u003e25b61a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v1.0.0...v1.0.1\"\u003e1.0.1\u003c/a\u003e (2025-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efail closed when entities disabled (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/c986d2d37a93d45fcc059b09063d9d9c45a655ec\"\u003ec986d2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate XML comments (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/3d4d2d3a4cd0f68d1211dba549010261fa87b969\"\u003e3d4d2d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd SECURITY.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/64130233c8fea272a5f82f2f585e1593523ec1b1\"\u003e6413023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify behavior for empty lists (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2025b5cb5e64fc9c4d54b8644187a0a193bdd0ed\"\u003e2025b5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify process_comments docs (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/6b464fce284a93dbb292f3d063c9f310a478a014\"\u003e6b464fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclarify strip whitespace comment behavior (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/b3e22032d21cc387d6cecf3930116e8fdc3151cf\"\u003eb3e2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate AGENTS.md for coding agents (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/0da66ee797ced7479312aecef92c6a25e235007c\"\u003e0da66ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace travis with actions badge (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/2576b94c918fbd154489a95dbbb3feda8bd3cbd8\"\u003e2576b94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/martinblech/xmltodict/commit/db3918057cf125af989a1263d52df8df5ef8c642\"\u003edb39180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/compare/v0.15.1...v1.0.0\"\u003e1.0.0\u003c/a\u003e (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\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/martinblech/xmltodict/commit/8d7f1fdb2251b5dc3b98df447850cb8229defc32\"\u003e\u003ccode\u003e8d7f1fd\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/ed704344226ed6451f6735811c695fb5004df44d\"\u003e\u003ccode\u003eed70434\u003c/code\u003e\u003c/a\u003e fix(unparse): add bytes_errors policy and handle bytes scalars consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/89c4bf77b856da1e446fb6f017bf87c7c7f298bf\"\u003e\u003ccode\u003e89c4bf7\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/fd6a73bf606c3932bcc82bf559a70867a1dd75cd\"\u003e\u003ccode\u003efd6a73b\u003c/code\u003e\u003c/a\u003e docs(readme): fix Fedora and Arch package links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/aa165113bef2b3a1a822209863343b9dc9ffe43a\"\u003e\u003ccode\u003eaa16511\u003c/code\u003e\u003c/a\u003e fix(unparse): serialize None text/attrs as empty values (fixes \u003ca href=\"https://redirect.github.com/martinblech/xmltodict/issues/401\"\u003e#401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/f7d76c96fc0141238947abcc5fa925d3ffd9eb78\"\u003e\u003ccode\u003ef7d76c9\u003c/code\u003e\u003c/a\u003e style: lines required between function definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/1bfb267cd00ba699539d3653b8e0cd3707b2a164\"\u003e\u003ccode\u003e1bfb267\u003c/code\u003e\u003c/a\u003e build: remove unnecessary \u003ccode\u003ewheel\u003c/code\u003e from dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/d9f6d409008ad1115de73a9d5221bf16a2d647db\"\u003e\u003ccode\u003ed9f6d40\u003c/code\u003e\u003c/a\u003e build: no need for README.md in MANIFEST.in\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/34378ef595b1dd553918a19e0f1540dcc5f94b22\"\u003e\u003ccode\u003e34378ef\u003c/code\u003e\u003c/a\u003e build: pep 639 compliance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/martinblech/xmltodict/commit/d079849136b031c471ec96a168ad7859ed5994ff\"\u003e\u003ccode\u003ed079849\u003c/code\u003e\u003c/a\u003e chore(master): release 1.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/martinblech/xmltodict/compare/v0.11.0...v1.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.14.2 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\u003c/p\u003e\n\u003ch2\u003ev6.16.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.16.0/CHANGES.html#id1\"\u003ev6.16.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.15.0.\u003c/p\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.14.2...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pymupdf` from 1.26.3 to 1.26.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pymupdf/pymupdf/releases\"\u003epymupdf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMuPDF-1.26.5 released\u003c/h2\u003e\n\u003cp\u003eWheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pymupdf\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e[Linux-aarch64 wheels will be built and uploaded later.]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.26.5\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.26.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/2883\"\u003e#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4507\"\u003e#4507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4613\"\u003e#4613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4700\"\u003e#4700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4716\"\u003e#4716\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupported Python versions are now 3.9-3.14.\u003c/li\u003e\n\u003cli\u003eWe now define all class methods explicitly instead of with dynamic assignment; this improves type hints.\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003epymupdf.utils.Shape\u003c/code\u003e class, was duplicate of \u003ccode\u003epymupdf.Shape\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow use of cibuildwheel to build and test on Pyodide.\u003c/li\u003e\n\u003cli\u003eFixed various Pyodide bugs.\u003c/li\u003e\n\u003cli\u003eIn documentation, added section about Linux wheels and glibc compatibility.\u003c/li\u003e\n\u003cli\u003eImproved documentation of pymupdf.open()'s \u003c!-- raw HTML omitted --\u003e arg.\u003c/li\u003e\n\u003cli\u003eRetrospectively mark \u003ccode\u003e4544 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4544\u0026gt;\u003c/code\u003e_ as fixed in 1.26.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePyMuPDF-1.26.4 released\u003c/h2\u003e\n\u003cp\u003eWheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pymupdf\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e[Linux-aarch64 wheels will be built and uploaded later.]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.26.4\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.26.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/3806\"\u003e#3806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4388\"\u003e#4388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4457\"\u003e#4457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt\"\u003epymupdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003e**Changes in version **\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect generation of \u003ccode\u003elineJoin j\u003c/code\u003e in PDF content, introduced in 1.27.2.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.2.2\u003c/strong\u003e (2026-03-20)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4902 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4902\u0026gt;\u003c/code\u003e_: Incorrect linewidth in elements returned by Page.get_texttrace()\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4932 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4932\u0026gt;\u003c/code\u003e_: \u0026quot;Page\u0026quot; has no attribute \u0026quot;find_tables\u0026quot; in PyMuPDF 1.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eAnnot.__bool__()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.2.\u003c/strong\u003e (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.27.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4903 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4903\u0026gt;\u003c/code\u003e_: Typing broken because of \u003ccode\u003e*_forward_decl\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOther:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRetrospectively marked \u003ca href=\"https://redirect.github.com/pymupdf/pymupdf/issues/4907\"\u003e#4907\u003c/a\u003e as fixed in pymupdf-1.27.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved \u003ccode\u003eget_textpage_ocr()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor partial OCR, \u003cstrong\u003eall\u003c/strong\u003e page areas outside legible text are now OCRed, not\njust those within images. This means that OCR will now also be performed\nfor vector graphics, and for text containing illegible characters.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eChanges in version 1.27.1\u003c/strong\u003e (2026-02-11)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse MuPDF-1.27.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed\u003c/strong\u003e \u003ccode\u003e4599 \u0026lt;https://github.com/pymupdf/PyMuPDF/issues/4599\u0026gt;\u003c/code\u003e_: page.cluster_drawings extract a lot of small clusters once upgraded to 1.26\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/pymupdf/PyMuPDF/commit/cc13f8081799c42674a15ef7af6ed90d43b95e89\"\u003e\u003ccode\u003ecc13f80\u003c/code\u003e\u003c/a\u003e pipcl.py: Added asserts to avoid obscure build/runtime errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/cd79b59f0308aa4ff857f39a030fa1dc1e78f5ce\"\u003e\u003ccode\u003ecd79b59\u003c/code\u003e\u003c/a\u003e scripts/test.py: improved cibw command.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/97ed979b651205852dd6d417860851070eeabbd3\"\u003e\u003ccode\u003e97ed979\u003c/code\u003e\u003c/a\u003e scripts/test.py: avoid test failures from cibw's recent default to include fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/a7075241b1b6170a7a67aaa4660070889796ae85\"\u003e\u003ccode\u003ea707524\u003c/code\u003e\u003c/a\u003e tests/test_release.py: avoid error from os.path.relpath() on windows.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/aef5d64601af2d79776a29f6b136467e969399ea\"\u003e\u003ccode\u003eaef5d64\u003c/code\u003e\u003c/a\u003e scripts/test.py: fixed bug in manylinux cibuildwheel builds.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/c4a83eaf0bcde1fc3ff1310271868d1a1da75918\"\u003e\u003ccode\u003ec4a83ea\u003c/code\u003e\u003c/a\u003e tests/: added test_4699() for upstream bug fixed with mupdf master.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/090e23e315a03b32fd719faff629eea41d373f94\"\u003e\u003ccode\u003e090e23e\u003c/code\u003e\u003c/a\u003e changes.txt: add date of most recent release 1.26.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/90e86e7285239360b017ff45e264724da19ca803\"\u003e\u003ccode\u003e90e86e7\u003c/code\u003e\u003c/a\u003e Add 3.14 to list of supported Python versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/13d89c094ebf01a044f9734313128ad060b1a13b\"\u003e\u003ccode\u003e13d89c0\u003c/code\u003e\u003c/a\u003e src/\u003cstrong\u003einit\u003c/strong\u003e.py: fix call of pdf_is_ocg_hidden() with mupdf master.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymupdf/PyMuPDF/commit/d9d4ab8998dbf692f1de27beec6d10598b9f9eb4\"\u003e\u003ccode\u003ed9d4ab8\u003c/code\u003e\u003c/a\u003e changes.txt: updated to match all changes since 1.26.4 release.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pymupdf/pymupdf/compare/1.26.3...1.26.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` to 82.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.1\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the loading of \u003ccode\u003elauncher manifest.xml\u003c/code\u003e file. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5047\"\u003e#5047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplaced deprecated \u003ccode\u003ejson.__version__\u003c/code\u003e with fixture in tests. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd advice about how to improve predictability when installing sdists. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5168\"\u003e#5168\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4941\"\u003e#4941\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev80.10.2\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate vendored dependencies. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5159\"\u003e#5159\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMisc\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/5a13876673a41e3cd21d4d6e587f53d0fb4fd8e5\"\u003e\u003ccode\u003e5a13876\u003c/code\u003e\u003c/a\u003e Bump version: 82.0.0 → 82.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/51ab8f183f1c4112675d8d6ec6b004406d518ee8\"\u003e\u003ccode\u003e51ab8f1\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5194\"\u003e#5194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/f9c37b20bb0ed11203f676f9683452a4c3ace6f6\"\u003e\u003ccode\u003ef9c37b2\u003c/code\u003e\u003c/a\u003e Docs/CI: Fix intersphinx references (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5195\"\u003e#5195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/8173db2a4fc0f6cb28926b3dba59116b79f435c8\"\u003e\u003ccode\u003e8173db2\u003c/code\u003e\u003c/a\u003e Docs: Fix intersphinx references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/09bafbc74923f2a3591b5b098be75d6af6ca5141\"\u003e\u003ccode\u003e09bafbc\u003c/code\u003e\u003c/a\u003e Fix past tense on newsfragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/461ea56c8e629819a23920f44d9298d4f041abde\"\u003e\u003ccode\u003e461ea56\u003c/code\u003e\u003c/a\u003e Add news fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/c4ffe535b58235ff9f9ebe90d24a2cffb57e70ae\"\u003e\u003ccode\u003ec4ffe53\u003c/code\u003e\u003c/a\u003e Avoid using (deprecated) 'json.\u003cstrong\u003eversion\u003c/strong\u003e' in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/749258b1a96c7accc05ea7d842fb19fc378866fe\"\u003e\u003ccode\u003e749258b\u003c/code\u003e\u003c/a\u003e Cleanup \u003ccode\u003epkg_resources\u003c/code\u003e dependencies and configuration (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5175\"\u003e#5175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/2019c16701667db1010c62ec11c6ef78c2e58206\"\u003e\u003ccode\u003e2019c16\u003c/code\u003e\u003c/a\u003e Parse \u003ccode\u003eext-module.define-macros\u003c/code\u003e from \u003ccode\u003epyproject.toml\u003c/code\u003e as list of tuples (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5169\"\u003e#5169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/b809c86a37d97fcce290d5f51d4c293ab40bc685\"\u003e\u003ccode\u003eb809c86\u003c/code\u003e\u003c/a\u003e Sync setuptools schema with validate-pyproject (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5157\"\u003e#5157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v61.0.0...v82.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/codevenkat/Lector/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevenkat%2FLector/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-04-13T09:59:20.000Z","version_change":"\u003e=6.0.0 → \u003e=6.19.0","issue":{"uuid":"4253388701","node_id":"PR_kwDORg0UGc7R8AqL","number":14,"state":"open","title":"chore(deps)(deps-dev): update pyinstaller requirement from \u003e=6.0.0 to \u003e=6.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T09:59:20.000Z","updated_at":"2026-04-13T09:59:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/diegomarino/takeout-photos/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diegomarino%2Ftakeout-photos/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","update_type":"minor","path":"/akagi_backend","pr_created_at":"2026-04-13T01:13:13.000Z","version_change":"\u003e=6.0.0 → \u003e=6.19.0","issue":{"uuid":"4250597034","node_id":"PR_kwDORXHrac7R1xg_","number":23,"state":"open","title":"deps(deps-dev): update pyinstaller requirement from \u003e=6.0.0 to \u003e=6.19.0 in /akagi_backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T01:13:13.000Z","updated_at":"2026-04-13T01:13:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003e=6.0.0","new_version":"\u003e=6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/akagi_backend","ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/xiaopeiii/Akagi-NG/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaopeiii%2FAkagi-NG/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"6.3.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-29T22:53:53.000Z","version_change":"6.3.0 → 6.19.0","issue":{"uuid":"4165998418","node_id":"PR_kwDOLFN-4s7Obxj9","number":6,"state":"open","title":"chore(deps): bump pyinstaller from 6.3.0 to 6.19.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-29T22:53:53.000Z","updated_at":"2026-03-29T22:53:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.3.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.3.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\u003c/p\u003e\n\u003ch2\u003ev6.16.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.16.0/CHANGES.html#id1\"\u003ev6.16.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.15.0.\u003c/p\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.3.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.3.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/chrysa/epub-sorter/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrysa%2Fepub-sorter/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"6.16.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-16T23:39:41.000Z","version_change":"6.16.0 → 6.19.0","issue":{"uuid":"4085361278","node_id":"PR_kwDORo7EH87LEW6Z","number":5,"state":"open","title":"chore(deps): bump pyinstaller from 6.16.0 to 6.19.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T23:39:41.000Z","updated_at":"2026-03-16T23:39:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pyinstaller","old_version":"6.16.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.16.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\u003c/p\u003e\n\u003ch2\u003ev6.18.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.18.0/CHANGES.html#id1\"\u003ev6.18.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.17.0.\u003c/p\u003e\n\u003ch2\u003ev6.17.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.17.0/CHANGES.html#id1\"\u003ev6.17.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.16.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.16.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.16.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/rosab0506/friture/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosab0506%2Ffriture/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"3.6","new_version":"6.15.0","update_type":null,"path":null,"pr_created_at":"2026-03-14T14:43:12.000Z","version_change":"3.6 → 6.15.0","issue":{"uuid":"4075951983","node_id":"PR_kwDORm7r2M7KnAW9","number":5,"state":"closed","title":"Bump the pip group across 2 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-26T18:32:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T14:43:12.000Z","updated_at":"2026-03-26T18:32:50.000Z","time_to_close":1050576,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":3,"packages":[{"name":"numpy","old_version":"1.18.1","new_version":"1.22.0","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.22.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"pyinstaller","old_version":"3.6","new_version":"6.15.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"numpy","old_version":"1.18.1","new_version":"1.22.0","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.22.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"pyinstaller","old_version":"3.6","new_version":"6.15.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 3 updates in the /byob directory: [numpy](https://github.com/numpy/numpy), [requests](https://github.com/psf/requests) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\nBumps the pip group with 3 updates in the /web-gui/buildyourownbotnet directory: [numpy](https://github.com/numpy/numpy), [requests](https://github.com/psf/requests) and [pyinstaller](https://github.com/pyinstaller/pyinstaller).\n\nUpdates `numpy` from 1.18.1 to 1.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch1\u003eNumPy 1.22.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 1.22.0 is a big release featuring the work of 153 contributors\nspread over 609 pull requests. There have been many improvements,\nhighlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotations of the main namespace are essentially complete. Upstream\nis a moving target, so there will likely be further improvements,\nbut the major work is done. This is probably the most user visible\nenhancement in this release.\u003c/li\u003e\n\u003cli\u003eA preliminary version of the proposed Array-API is provided. This is\na step in creating a standard collection of functions that can be\nused across application such as CuPy and JAX.\u003c/li\u003e\n\u003cli\u003eNumPy now has a DLPack backend. DLPack provides a common interchange\nformat for array (tensor) data.\u003c/li\u003e\n\u003cli\u003eNew methods for \u003ccode\u003equantile\u003c/code\u003e, \u003ccode\u003epercentile\u003c/code\u003e, and related functions. The\nnew methods provide a complete set of the methods commonly found in\nthe literature.\u003c/li\u003e\n\u003cli\u003eA new configurable allocator for use by downstream projects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese are in addition to the ongoing work to provide SIMD support for\ncommonly used functions, improvements to F2PY, and better documentation.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported in this release are 3.8-3.10, Python 3.7\nhas been dropped. Note that 32 bit wheels are only provided for Python\n3.8 and 3.9 on Windows, all other wheels are 64 bits on account of\nUbuntu, Fedora, and other Linux distributions dropping 32 bit support.\nAll 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix\nthe occasional problems encountered by folks using truly huge arrays.\u003c/p\u003e\n\u003ch2\u003eExpired deprecations\u003c/h2\u003e\n\u003ch3\u003eDeprecated numeric style dtype strings have been removed\u003c/h3\u003e\n\u003cp\u003eUsing the strings \u003ccode\u003e\u0026quot;Bytes0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Datetime64\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Str0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Uint32\u0026quot;\u003c/code\u003e,\nand \u003ccode\u003e\u0026quot;Uint64\u0026quot;\u003c/code\u003e as a dtype will now raise a \u003ccode\u003eTypeError\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19539\"\u003egh-19539\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eExpired deprecations for \u003ccode\u003eloads\u003c/code\u003e, \u003ccode\u003endfromtxt\u003c/code\u003e, and \u003ccode\u003emafromtxt\u003c/code\u003e in npyio\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003enumpy.loads\u003c/code\u003e was deprecated in v1.15, with the recommendation that\nusers use \u003ccode\u003epickle.loads\u003c/code\u003e instead. \u003ccode\u003endfromtxt\u003c/code\u003e and \u003ccode\u003emafromtxt\u003c/code\u003e were both\ndeprecated in v1.17 - users should use \u003ccode\u003enumpy.genfromtxt\u003c/code\u003e instead with\nthe appropriate value for the \u003ccode\u003eusemask\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19615\"\u003egh-19615\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/numpy/numpy/commit/4adc87dff15a247e417d50f10cc4def8e1c17a03\"\u003e\u003ccode\u003e4adc87d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20685\"\u003e#20685\u003c/a\u003e from charris/prepare-for-1.22.0-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fd66547557f57c430d41be2fc0764f74a62e8ccf\"\u003e\u003ccode\u003efd66547\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 1.22.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/125304b035effcd82e366e601b102e7347eaa9ba\"\u003e\u003ccode\u003e125304b\u003c/code\u003e\u003c/a\u003e wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c283859128b1a4b57014581570a23ed7950a24ea\"\u003e\u003ccode\u003ec283859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20682\"\u003e#20682\u003c/a\u003e from charris/backport-20416\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5399c03d4a069fe81a1616be0184c9749d7271ee\"\u003e\u003ccode\u003e5399c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20681\"\u003e#20681\u003c/a\u003e from charris/backport-20954\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f9c45f8ebf31340b1a5a0371bfca25afcfc4794e\"\u003e\u003ccode\u003ef9c45f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20680\"\u003e#20680\u003c/a\u003e from charris/backport-20663\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/794b36f7e1bf2a8c42774ab0db86a74bd32f674b\"\u003e\u003ccode\u003e794b36f\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d93b14e3d7abaa1d837825e51671f817788e120f\"\u003e\u003ccode\u003ed93b14e\u003c/code\u003e\u003c/a\u003e Update test_public_api.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7662c0789cc6a70d5ad4d950ee2e95f3afef7df6\"\u003e\u003ccode\u003e7662c07\u003c/code\u003e\u003c/a\u003e Update \u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/311ab52488a7d096ac3bc4c2de0fdae17ecd13ef\"\u003e\u003ccode\u003e311ab52\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.18.1...v1.22.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.22.0 to 2.32.4\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.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\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-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\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.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.0 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\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/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.22.0...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 3.6 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\u003c/p\u003e\n\u003ch2\u003ev6.5.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.5.0/CHANGES.html#id1\"\u003ev6.5.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.4.0.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.4.0/CHANGES.html#id1\"\u003ev6.4.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.3.0.\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.3.0/CHANGES.html#id1\"\u003ev6.3.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.2.0.\u003c/p\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.2.0/CHANGES.html#id1\"\u003ev6.2.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.1.0.\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/pyinstaller/pyinstaller/commit/7c5dcd97a7679c5f3b04c43a0aae0ffeabe7462b\"\u003e\u003ccode\u003e7c5dcd9\u003c/code\u003e\u003c/a\u003e Release v6.15.0. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/7c6eca9c0408300fe59fa5d01f1538edc44964ee\"\u003e\u003ccode\u003e7c6eca9\u003c/code\u003e\u003c/a\u003e bootloader: fix compile errors when building for 32-bit with MSVC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/31da65c9fc21ef5d7eb6a1e60b01b4cfd43ee8ea\"\u003e\u003ccode\u003e31da65c\u003c/code\u003e\u003c/a\u003e analysis: account for hook-excluded but externally-referenced subpackages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/d258b14bc4f09284dc4ebcf05a36de549c0359fb\"\u003e\u003ccode\u003ed258b14\u003c/code\u003e\u003c/a\u003e tests: add more subpackage exclusion tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42dd4584c917242d41fe3303afe89c7504aadc18\"\u003e\u003ccode\u003e42dd458\u003c/code\u003e\u003c/a\u003e analysis: module exclusion: fix module name construction for relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/39caee95cd8ef7f7b04fb0f2f6dfeded1423614a\"\u003e\u003ccode\u003e39caee9\u003c/code\u003e\u003c/a\u003e tests: add test for subpackage exclusion from top-level package hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/a194f0d7b2d02450ae54019d2202974c3b0feb5e\"\u003e\u003ccode\u003ea194f0d\u003c/code\u003e\u003c/a\u003e tests: run the module exclusion tests only in onedir mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/f2c42a3fa39e4ee9dba84e5a2d956256019992d0\"\u003e\u003ccode\u003ef2c42a3\u003c/code\u003e\u003c/a\u003e ci: enable CI with python 3.14-dev and 3.14t-dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42528d90d719fcbb88b850c57ede84e1854ae407\"\u003e\u003ccode\u003e42528d9\u003c/code\u003e\u003c/a\u003e bootloader: implement string conversion to UTF-8 for PEP 741 codepath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/0352806e7ed8a9c3515a214334763d375a57d931\"\u003e\u003ccode\u003e0352806\u003c/code\u003e\u003c/a\u003e bootloader: implement UTF8-naive PEP 741 configuration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller/compare/v3.6...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.18.1 to 1.22.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch1\u003eNumPy 1.22.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 1.22.0 is a big release featuring the work of 153 contributors\nspread over 609 pull requests. There have been many improvements,\nhighlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAnnotations of the main namespace are essentially complete. Upstream\nis a moving target, so there will likely be further improvements,\nbut the major work is done. This is probably the most user visible\nenhancement in this release.\u003c/li\u003e\n\u003cli\u003eA preliminary version of the proposed Array-API is provided. This is\na step in creating a standard collection of functions that can be\nused across application such as CuPy and JAX.\u003c/li\u003e\n\u003cli\u003eNumPy now has a DLPack backend. DLPack provides a common interchange\nformat for array (tensor) data.\u003c/li\u003e\n\u003cli\u003eNew methods for \u003ccode\u003equantile\u003c/code\u003e, \u003ccode\u003epercentile\u003c/code\u003e, and related functions. The\nnew methods provide a complete set of the methods commonly found in\nthe literature.\u003c/li\u003e\n\u003cli\u003eA new configurable allocator for use by downstream projects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese are in addition to the ongoing work to provide SIMD support for\ncommonly used functions, improvements to F2PY, and better documentation.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported in this release are 3.8-3.10, Python 3.7\nhas been dropped. Note that 32 bit wheels are only provided for Python\n3.8 and 3.9 on Windows, all other wheels are 64 bits on account of\nUbuntu, Fedora, and other Linux distributions dropping 32 bit support.\nAll 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix\nthe occasional problems encountered by folks using truly huge arrays.\u003c/p\u003e\n\u003ch2\u003eExpired deprecations\u003c/h2\u003e\n\u003ch3\u003eDeprecated numeric style dtype strings have been removed\u003c/h3\u003e\n\u003cp\u003eUsing the strings \u003ccode\u003e\u0026quot;Bytes0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Datetime64\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Str0\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;Uint32\u0026quot;\u003c/code\u003e,\nand \u003ccode\u003e\u0026quot;Uint64\u0026quot;\u003c/code\u003e as a dtype will now raise a \u003ccode\u003eTypeError\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19539\"\u003egh-19539\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eExpired deprecations for \u003ccode\u003eloads\u003c/code\u003e, \u003ccode\u003endfromtxt\u003c/code\u003e, and \u003ccode\u003emafromtxt\u003c/code\u003e in npyio\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003enumpy.loads\u003c/code\u003e was deprecated in v1.15, with the recommendation that\nusers use \u003ccode\u003epickle.loads\u003c/code\u003e instead. \u003ccode\u003endfromtxt\u003c/code\u003e and \u003ccode\u003emafromtxt\u003c/code\u003e were both\ndeprecated in v1.17 - users should use \u003ccode\u003enumpy.genfromtxt\u003c/code\u003e instead with\nthe appropriate value for the \u003ccode\u003eusemask\u003c/code\u003e parameter.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/19615\"\u003egh-19615\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/numpy/numpy/commit/4adc87dff15a247e417d50f10cc4def8e1c17a03\"\u003e\u003ccode\u003e4adc87d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20685\"\u003e#20685\u003c/a\u003e from charris/prepare-for-1.22.0-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fd66547557f57c430d41be2fc0764f74a62e8ccf\"\u003e\u003ccode\u003efd66547\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 1.22.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/125304b035effcd82e366e601b102e7347eaa9ba\"\u003e\u003ccode\u003e125304b\u003c/code\u003e\u003c/a\u003e wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c283859128b1a4b57014581570a23ed7950a24ea\"\u003e\u003ccode\u003ec283859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20682\"\u003e#20682\u003c/a\u003e from charris/backport-20416\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5399c03d4a069fe81a1616be0184c9749d7271ee\"\u003e\u003ccode\u003e5399c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20681\"\u003e#20681\u003c/a\u003e from charris/backport-20954\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f9c45f8ebf31340b1a5a0371bfca25afcfc4794e\"\u003e\u003ccode\u003ef9c45f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/20680\"\u003e#20680\u003c/a\u003e from charris/backport-20663\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/794b36f7e1bf2a8c42774ab0db86a74bd32f674b\"\u003e\u003ccode\u003e794b36f\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d93b14e3d7abaa1d837825e51671f817788e120f\"\u003e\u003ccode\u003ed93b14e\u003c/code\u003e\u003c/a\u003e Update test_public_api.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7662c0789cc6a70d5ad4d950ee2e95f3afef7df6\"\u003e\u003ccode\u003e7662c07\u003c/code\u003e\u003c/a\u003e Update \u003cstrong\u003einit\u003c/strong\u003e.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/311ab52488a7d096ac3bc4c2de0fdae17ecd13ef\"\u003e\u003ccode\u003e311ab52\u003c/code\u003e\u003c/a\u003e Update armccompiler.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.18.1...v1.22.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.22.0 to 2.32.4\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.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\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-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\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.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.0 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\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/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.22.0...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 3.6 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.15.0/CHANGES.html#id1\"\u003ev6.15.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.2.\u003c/p\u003e\n\u003ch2\u003ev6.14.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.2/CHANGES.html#id1\"\u003ev6.14.2 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.1.\u003c/p\u003e\n\u003ch2\u003ev6.14.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.1/CHANGES.html#id1\"\u003ev6.14.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.14.0.\u003c/p\u003e\n\u003ch2\u003ev6.14.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.14.0/CHANGES.html#id1\"\u003ev6.14.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.13.0.\u003c/p\u003e\n\u003ch2\u003ev6.13.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.13.0/CHANGES.html#id1\"\u003ev6.13.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.12.0.\u003c/p\u003e\n\u003ch2\u003ev6.12.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.12.0/CHANGES.html#id1\"\u003ev6.12.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.1.\u003c/p\u003e\n\u003ch2\u003ev6.11.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.1/CHANGES.html#id1\"\u003ev6.11.1 section of the changelog\u003c/a\u003e for a list of the changes since v6.11.0.\u003c/p\u003e\n\u003ch2\u003ev6.11.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.11.0/CHANGES.html#id1\"\u003ev6.11.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.10.0.\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.10.0/CHANGES.html#id1\"\u003ev6.10.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.9.0.\u003c/p\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.9.0/CHANGES.html#id1\"\u003ev6.9.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.8.0.\u003c/p\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.8.0/CHANGES.html#id1\"\u003ev6.8.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.7.0.\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.7.0/CHANGES.html#id1\"\u003ev6.7.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.6.0.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.6.0/CHANGES.html#id1\"\u003ev6.6.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.5.0.\u003c/p\u003e\n\u003ch2\u003ev6.5.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.5.0/CHANGES.html#id1\"\u003ev6.5.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.4.0.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.4.0/CHANGES.html#id1\"\u003ev6.4.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.3.0.\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.3.0/CHANGES.html#id1\"\u003ev6.3.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.2.0.\u003c/p\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.2.0/CHANGES.html#id1\"\u003ev6.2.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.1.0.\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/pyinstaller/pyinstaller/commit/7c5dcd97a7679c5f3b04c43a0aae0ffeabe7462b\"\u003e\u003ccode\u003e7c5dcd9\u003c/code\u003e\u003c/a\u003e Release v6.15.0. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/7c6eca9c0408300fe59fa5d01f1538edc44964ee\"\u003e\u003ccode\u003e7c6eca9\u003c/code\u003e\u003c/a\u003e bootloader: fix compile errors when building for 32-bit with MSVC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/31da65c9fc21ef5d7eb6a1e60b01b4cfd43ee8ea\"\u003e\u003ccode\u003e31da65c\u003c/code\u003e\u003c/a\u003e analysis: account for hook-excluded but externally-referenced subpackages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/d258b14bc4f09284dc4ebcf05a36de549c0359fb\"\u003e\u003ccode\u003ed258b14\u003c/code\u003e\u003c/a\u003e tests: add more subpackage exclusion tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42dd4584c917242d41fe3303afe89c7504aadc18\"\u003e\u003ccode\u003e42dd458\u003c/code\u003e\u003c/a\u003e analysis: module exclusion: fix module name construction for relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/39caee95cd8ef7f7b04fb0f2f6dfeded1423614a\"\u003e\u003ccode\u003e39caee9\u003c/code\u003e\u003c/a\u003e tests: add test for subpackage exclusion from top-level package hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/a194f0d7b2d02450ae54019d2202974c3b0feb5e\"\u003e\u003ccode\u003ea194f0d\u003c/code\u003e\u003c/a\u003e tests: run the module exclusion tests only in onedir mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/f2c42a3fa39e4ee9dba84e5a2d956256019992d0\"\u003e\u003ccode\u003ef2c42a3\u003c/code\u003e\u003c/a\u003e ci: enable CI with python 3.14-dev and 3.14t-dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/42528d90d719fcbb88b850c57ede84e1854ae407\"\u003e\u003ccode\u003e42528d9\u003c/code\u003e\u003c/a\u003e bootloader: implement string conversion to UTF-8 for PEP 741 codepath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller/commit/0352806e7ed8a9c3515a214334763d375a57d931\"\u003e\u003ccode\u003e0352806\u003c/code\u003e\u003c/a\u003e bootloader: implement UTF8-naive PEP 741 configuration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller/compare/v3.6...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/BYOBCommunity/BYOBCommunity/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/BYOBCommunity/BYOBCommunity/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BYOBCommunity%2FBYOBCommunity/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"6.18.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-13T03:39:14.000Z","version_change":"6.18.0 → 6.19.0","issue":{"uuid":"4068626827","node_id":"PR_kwDOQsBs9c7KPPFf","number":13,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-20T03:33:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-13T03:39:14.000Z","updated_at":"2026-03-20T03:33:40.000Z","time_to_close":604466,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":45,"packages":[{"name":"torchrl","old_version":"0.3.1","new_version":"0.10.1","repository_url":"https://github.com/pytorch/rl"},{"name":"tensordict","old_version":"0.3.1","new_version":"0.10.0","repository_url":"https://github.com/pytorch/tensordict"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"wandb","old_version":"0.24.1","new_version":"0.25.1","repository_url":"https://github.com/wandb/wandb"},{"name":"pyside6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"shiboken6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.0","new_version":"2026.3","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [torchrl](https://github.com/pytorch/rl), [tensordict](https://github.com/pytorch/tensordict), [rich](https://github.com/Textualize/rich), [tqdm](https://github.com/tqdm/tqdm), [cryptography](https://github.com/pyca/cryptography), [wandb](https://github.com/wandb/wandb), hexaly, [pyside6](https://pyside.org), [shiboken6](https://pyside.org), [plotly](https://github.com/plotly/plotly.py), [ray[tune]](https://github.com/ray-project/ray), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib), [setuptools](https://github.com/pypa/setuptools), [aiorwlock](https://github.com/aio-libs/aiorwlock), [blessed](https://github.com/jquast/blessed), [certifi](https://github.com/certifi/python-certifi), [charset-normalizer](https://github.com/jawah/charset_normalizer), [fastapi](https://github.com/fastapi/fastapi), [fastapi-cli](https://github.com/fastapi/fastapi-cli), [gmpy2](https://github.com/gmpy2/gmpy2), [google-api-core](https://github.com/googleapis/google-cloud-python), [google-auth](https://github.com/googleapis/google-auth-library-python), [googleapis-common-protos](https://github.com/googleapis/google-cloud-python), [greenlet](https://github.com/python-greenlet/greenlet), [grpcio](https://github.com/grpc/grpc), [mpmath](https://github.com/mpmath/mpmath), [narwhals](https://github.com/narwhals-dev/narwhals), [parso](https://github.com/davidhalter/parso), [pip](https://github.com/pypa/pip), [proto-plus](https://github.com/googleapis/proto-plus-python), [pydantic-core](https://github.com/pydantic/pydantic-core), [pytz](https://github.com/stub42/pytz), rich-toolkit, [sentry-sdk](https://github.com/getsentry/sentry-python), [smmap](https://github.com/gitpython-developers/smmap), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [tornado](https://github.com/tornadoweb/tornado), [typer](https://github.com/fastapi/typer), [typer-slim](https://github.com/fastapi/typer), [unicodedata2](https://github.com/fonttools/unicodedata2), [virtualenv](https://github.com/pypa/virtualenv), [wcwidth](https://github.com/jquast/wcwidth), [werkzeug](https://github.com/pallets/werkzeug) and [wrapt](https://github.com/GrahamDumpleton/wrapt) to permit the latest version.\nUpdates `torchrl` from 0.3.1 to 0.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/rl/releases\"\u003etorchrl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTorchRL 0.10.1: Fixes and named dimensions in composite specs\u003c/h2\u003e\n\u003ch1\u003eRelease Notes - v0.10.1\u003c/h1\u003e\n\u003cp\u003eThis patch release includes bug fixes, type annotation improvements, and CI enhancements cherry-picked from main.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3168\"\u003e#3168\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [BugFix] AttributeError in accept_remote_rref_udf_invocation\n\u003cul\u003e\n\u003cli\u003eFixed AttributeError in RPC utilities when decorating classes with remote RRef invocation by handling None values in getattr calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Feature] Named dims in Composite\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for named dimensions in Composite specs, enabling better integration with PyTorch's named tensors\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3214\"\u003e#3214\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/louisfaury\"\u003e\u003ccode\u003e@​louisfaury\u003c/code\u003e\u003c/a\u003e - [Feature] Composite specs can create named tensors with 'zero' and 'rand'\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExtended Composite specs to properly propagate names when creating tensors using \u003ccode\u003ezero()\u003c/code\u003e and \u003ccode\u003erand()\u003c/code\u003e methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType Annotations \u0026amp; Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Typing] Edit wrongfully set str type annotations\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect string type annotations across 19 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Versioning] Fix doc versioning\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed documentation versioning issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI/Build Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Use pip install\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated CI workflows to use pip install across 41 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix missing librhash0 in doc CI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing librhash0 dependency in documentation CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix benchmarks for LLMs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LLM benchmark CI configurations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Upgrade doc python version\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Python version in documentation build workflows and added vLLM plugin entry point for FP32 overrides\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTorchRL 0.10.0: async LLM inference\u003c/h2\u003e\n\u003ch1\u003eTorchRL 0.10.0 Release Notes\u003c/h1\u003e\n\u003ch2\u003eWhat's New in 0.10.0\u003c/h2\u003e\n\u003cp\u003eTorchRL 0.10.0 introduces significant advancements in Large Language Model (LLM) support, new algorithms, enhanced environment integrations, and numerous performance improvements and bug fixes.\u003c/p\u003e\n\u003ch2\u003eMajor Features\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/pytorch/rl/commit/a1ebe3cd31d12d7599fe1441ee12f1092a3ede3d\"\u003e\u003ccode\u003ea1ebe3c\u003c/code\u003e\u003c/a\u003e Versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/4a58d57125feb9c1103b3ecd3d102a11148a05f3\"\u003e\u003ccode\u003e4a58d57\u003c/code\u003e\u003c/a\u003e [Refactor] Make env creator optional for Ray\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/376a27dae2c704091dff531ec7da7a4311268d39\"\u003e\u003ccode\u003e376a27d\u003c/code\u003e\u003c/a\u003e [CI] Upgrade doc python version (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/530f772c3f2cdf2c5d0bfa13d45741b23889c256\"\u003e\u003ccode\u003e530f772\u003c/code\u003e\u003c/a\u003e [CI] Fix benchmarks for LLMs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/8d2ad899c10512f25749994cb05284f8a6e05c7f\"\u003e\u003ccode\u003e8d2ad89\u003c/code\u003e\u003c/a\u003e [Feature] Composite specs can create named tensors with 'zero' and 'rand' (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/3814305ad4a5d4688f0598e88da99068c986a393\"\u003e\u003ccode\u003e3814305\u003c/code\u003e\u003c/a\u003e [CI] Fix missing librhash0 in doc CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/471669dd8ef35a2d517572789101dbdcc71d05e6\"\u003e\u003ccode\u003e471669d\u003c/code\u003e\u003c/a\u003e [CI] Use pip install (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/92b4c93e7e51959e5b7dc051b94db03e607c47f8\"\u003e\u003ccode\u003e92b4c93\u003c/code\u003e\u003c/a\u003e [Typing] Edit wrongfully set str type annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/48dad307092ead6bfcf8c30e4c6c04b01b1a92d7\"\u003e\u003ccode\u003e48dad30\u003c/code\u003e\u003c/a\u003e [Feature] Named dims in Composite (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/35c76ac98b0ecc6fa6575bbe426a74db2bbb4951\"\u003e\u003ccode\u003e35c76ac\u003c/code\u003e\u003c/a\u003e [Versioning] Fix doc versioning (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/rl/compare/v0.3.1...v0.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tensordict` from 0.3.1 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/tensordict/releases\"\u003etensordict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTensorDict 0.10.0: MDS, type annotation and typed \u003ccode\u003eMetaData\u003c/code\u003e\u003c/h2\u003e\n\u003ch1\u003eTensorDict 0.10.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eWe are excited to announce the release of TensorDict 0.10.0! This release includes significant improvements to type annotations, new features for metadata handling, enhanced tensor operations, and numerous bug fixes that improve the overall stability and usability of the library.\u003c/p\u003e\n\u003ch2\u003e🎉 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTyped MetaData\u003c/strong\u003e: Complete rewrite of metadata handling with full type support (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTensorCollection Parent Class\u003c/strong\u003e: New parent class providing better type annotations and enhanced functionality (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEnhanced String Support\u003c/strong\u003e: \u003ccode\u003eto_struct_array\u003c/code\u003e now supports string data types (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Type Safety\u003c/strong\u003e: Comprehensive type annotation improvements across the entire codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBetter TensorClass Support\u003c/strong\u003e: Enhanced ClassVar support and super() functionality\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMDS data interface\u003c/strong\u003e: the \u003ccode\u003eto_mds\u003c/code\u003e method creates an MDS dataset on your favourite location -- no more painful columns definition etc (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for autograd's \u003ccode\u003egrad\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003ch3\u003eCore Functionality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e): Complete rewrite of metadata handling system with full type support, enabling better static analysis and runtime type checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] TensorCollection parent class and better type annotation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e): New parent class that provides enhanced type annotations and improved inheritance hierarchy\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] to_struct_array with strings\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e): Extended \u003ccode\u003eto_struct_array\u003c/code\u003e functionality to handle string data types\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] MDS dataset helper functions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e): New helper functions for working with MDS (Multi-Dimensional Scaling) datasets\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] implement tensor_split\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1386\"\u003e#1386\u003c/a\u003e): Added support for \u003ccode\u003etensor_split\u003c/code\u003e operation to match PyTorch tensor API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] accept cap-str as input to set_interaction_type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1387\"\u003e#1387\u003c/a\u003e): Enhanced flexibility in interaction type setting by accepting capitalized strings\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Allow in-place modification of lazy stacks\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1384\"\u003e#1384\u003c/a\u003e): Enabled in-place modifications for lazy stacked tensors, improving memory efficiency\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Ensure super() works with TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1381\"\u003e#1381\u003c/a\u003e): Fixed super() functionality in TensorClass inheritance chains\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Add \u003cstrong\u003eall\u003c/strong\u003e everywhere\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1389\"\u003e#1389\u003c/a\u003e): Added comprehensive \u003ccode\u003e__all__\u003c/code\u003e declarations across all modules for better IDE support and import control\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType System Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Typing] \u003ccode\u003e@overload\u003c/code\u003e for methods that have a reduce arg\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1427\"\u003e#1427\u003c/a\u003e): Added proper type overloads for methods with reduce parameters\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] A bunch of type annotation improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1409\"\u003e#1409\u003c/a\u003e): Comprehensive type annotation improvements across the codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better CompatibleType definition\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1404\"\u003e#1404\u003c/a\u003e): Enhanced type definitions for better compatibility checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Add _from_tensordict to TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1403\"\u003e#1403\u003c/a\u003e): Added internal method for TensorClass construction from TensorDict\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better type annotation for \u003ccode\u003e__getitem__\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1402\"\u003e#1402\u003c/a\u003e): Improved type annotations for indexing operations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCritical Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix stacking typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e): Fixed issues with stacking operations on typed metadata\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Call synchronization when using the td.to(\u0026quot;cpu\u0026quot;) operation on third-party devices\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1425\"\u003e#1425\u003c/a\u003e): Fixed potential precision issues when transferring tensors from third-party devices to CPU\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix missing _maybe_broadcast_other in base.py\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1422\"\u003e#1422\u003c/a\u003e): Fixed missing broadcast functionality in base operations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] lock_() consolidated tds to avoid overriding values\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1408\"\u003e#1408\u003c/a\u003e): Fixed value override issues in locked TensorDicts during consolidation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTensorClass Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Args for TC with ClassVar\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1401\"\u003e#1401\u003c/a\u003e): Fixed argument handling for TensorClass with ClassVar annotations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix ClassVar support in tensorclass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1398\"\u003e#1398\u003c/a\u003e): Enhanced ClassVar support in tensorclass decorator\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/c34264a58b12471dc3e2913ea586b32431872d4c\"\u003e\u003ccode\u003ec34264a\u003c/code\u003e\u003c/a\u003e release/0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/6139ec25aa84a7c781bb44b040a3f5a1ef59dc4a\"\u003e\u003ccode\u003e6139ec2\u003c/code\u003e\u003c/a\u003e [CI] Fix windows wheels versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/2c0794c9cae75594e16ee08a2872274fd4e69edc\"\u003e\u003ccode\u003e2c0794c\u003c/code\u003e\u003c/a\u003e [Feature] Support for \u003ccode\u003etorch.autograd.grad\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/835381120c6392c5cae4231372e4545717c45315\"\u003e\u003ccode\u003e8353811\u003c/code\u003e\u003c/a\u003e [CI] Better versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/648f522a38062bf690ec3a8fab16f6e5e5185015\"\u003e\u003ccode\u003e648f522\u003c/code\u003e\u003c/a\u003e [Doc,CI] Fix installation of the lib for releases in doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/8fc24c058fe158ea4d139116f599b760a864da7b\"\u003e\u003ccode\u003e8fc24c0\u003c/code\u003e\u003c/a\u003e [Doc] Fix doc errors (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/d12408fbb7e2a8e8a6dc8392e0703e4f7bf13a0b\"\u003e\u003ccode\u003ed12408f\u003c/code\u003e\u003c/a\u003e [Doc, CI] Fix Doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/255a0401b67f0ed8d21b7bda763973f0ec56f0bb\"\u003e\u003ccode\u003e255a040\u003c/code\u003e\u003c/a\u003e [BugFix] Fix stacking typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/466aa99ff2cd6659a16ae3a048a8bba62d5740ee\"\u003e\u003ccode\u003e466aa99\u003c/code\u003e\u003c/a\u003e [Feature] Typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/e9d84398926f87d3504fea68279de0dafc9ad78d\"\u003e\u003ccode\u003ee9d8439\u003c/code\u003e\u003c/a\u003e [Feature] MDS dataset helper functions (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/tensordict/compare/v0.3.1...v0.10.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.3.1 to 14.3.3\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 infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\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/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wandb` from 0.24.1 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wandb/wandb/releases\"\u003ewandb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.25.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun console logs pane in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003el\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11345\"\u003ewandb/wandb#11345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics pane in multi-run workspace mode in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003es\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics filtering in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003e\\\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArtifactType.collections()\u003c/code\u003e now supports filtering and ordering of collections. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11268\"\u003ewandb/wandb#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning message when \u003ccode\u003erun.log_artifact\u003c/code\u003e does not create a new version because the artifact content is identical to an existing version. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11340\"\u003ewandb/wandb#11340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProject.collections()\u003c/code\u003e to fetch filtered and ordered artifact collections in a project. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11319\"\u003ewandb/wandb#11319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb purge-cache\u003c/code\u003e command to clean up cached files (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/10996\"\u003ewandb/wandb#10996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a rare deadlock caused when GC triggers at an unlucky time and runs a \u003ccode\u003e__del__\u003c/code\u003e method that prints (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11402\"\u003ewandb/wandb#11402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eapi.Run.user\u003c/code\u003e raising \u003ccode\u003eAttributeError\u003c/code\u003e when accessing runs from an \u003ccode\u003eapi.Runs\u003c/code\u003e iteration (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11439\"\u003ewandb/wandb#11439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\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/wandb/wandb/blob/main/CHANGELOG.md\"\u003ewandb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.25.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRun console logs pane in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003el\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11345\"\u003ewandb/wandb#11345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics pane in multi-run workspace mode in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003es\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystem metrics filtering in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command, toggle with \u003ccode\u003e\\\u003c/code\u003e). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11391\"\u003ewandb/wandb#11391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArtifactType.collections()\u003c/code\u003e now supports filtering and ordering of collections. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11268\"\u003ewandb/wandb#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning message when \u003ccode\u003erun.log_artifact\u003c/code\u003e does not create a new version because the artifact content is identical to an existing version. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11340\"\u003ewandb/wandb#11340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProject.collections()\u003c/code\u003e to fetch filtered and ordered artifact collections in a project. (\u003ca href=\"https://github.com/amusipatla-wandb\"\u003e\u003ccode\u003e@​amusipatla-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11319\"\u003ewandb/wandb#11319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb purge-cache\u003c/code\u003e command to clean up cached files (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/10996\"\u003ewandb/wandb#10996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a rare deadlock caused when GC triggers at an unlucky time and runs a \u003ccode\u003e__del__\u003c/code\u003e method that prints (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11402\"\u003ewandb/wandb#11402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eapi.Run.user\u003c/code\u003e raising \u003ccode\u003eAttributeError\u003c/code\u003e when accessing runs from an \u003ccode\u003eapi.Runs\u003c/code\u003e iteration (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11439\"\u003ewandb/wandb#11439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.25.0] - 2026-02-12\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.24.2] - 2026-02-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/commit/f35ff86e4cb490c7760090c69c5a6ae1120485d6\"\u003e\u003ccode\u003ef35ff86\u003c/code\u003e\u003c/a\u003e Bump version and update CHANGELOG for release 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/db0c863c08287f43b28936678ddcd96aef6a7fc0\"\u003e\u003ccode\u003edb0c863\u003c/code\u003e\u003c/a\u003e chore: use json_util in object3d to speed up serialization when using orjson ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9b5eb64f09a96f94879a8a526b19319cacd3ed4f\"\u003e\u003ccode\u003e9b5eb64\u003c/code\u003e\u003c/a\u003e chore: update Python requirements (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/aa464b2e4f079357e7bdf3a91437a1ab83fd0be1\"\u003e\u003ccode\u003eaa464b2\u003c/code\u003e\u003c/a\u003e chore: bump charm.land/bubbletea/v2 from 2.0.1 to 2.0.2 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11475\"\u003e#11475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/8c340503160501c9fdf355fa7112b4909ddf70d8\"\u003e\u003ccode\u003e8c34050\u003c/code\u003e\u003c/a\u003e chore: bump charm.land/lipgloss/v2 from 2.0.0 to 2.0.1 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11474\"\u003e#11474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/e0cca8963ab858799039885a8acff633722bec20\"\u003e\u003ccode\u003ee0cca89\u003c/code\u003e\u003c/a\u003e chore: bump google.golang.org/api from 0.269.0 to 0.270.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11473\"\u003e#11473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/b8115c9375462a951b7298a4134197d8b83c6b8a\"\u003e\u003ccode\u003eb8115c9\u003c/code\u003e\u003c/a\u003e chore: bump github.com/mattn/go-runewidth from 0.0.20 to 0.0.21 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11\"\u003e#11\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/4466ad050e80776c671d8c35d52407c1bdf976dd\"\u003e\u003ccode\u003e4466ad0\u003c/code\u003e\u003c/a\u003e chore: prevent test_wb_logging_last_resort from breaking due to warnings (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11\"\u003e#11\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/d134e4b984af038b644b779b980bcd104b0fe090\"\u003e\u003ccode\u003ed134e4b\u003c/code\u003e\u003c/a\u003e chore: bump golang.org/x/sync from 0.19.0 to 0.20.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11466\"\u003e#11466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9f0a9fc7d49855bd3ac846bb7fa893707e1bda7c\"\u003e\u003ccode\u003e9f0a9fc\u003c/code\u003e\u003c/a\u003e chore: bump golang.org/x/time from 0.14.0 to 0.15.0 in /core (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11465\"\u003e#11465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wandb/wandb/compare/v0.24.1...v0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hexaly` from 14.0.20251212 to  14.5.20260310\n\nUpdates `pyside6` from 6.10.1 to 6.10.2\n\nUpdates `shiboken6` from 6.10.1 to 6.10.2\n\nUpdates `plotly` from 6.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.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/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\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/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ray[tune]` to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ray-project/ray/releases\"\u003eray[tune]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRay-2.53.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRay plans to drop support for Pydantic V1 starting version 2.56.0. Please see \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58876\"\u003ethis RFC\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eRay Data now has support for bounded reading from Kafka and improved Iceberg support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRay Data\u003c/h2\u003e\n\u003cp\u003e🎉 New Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAutoscaling\u003c/strong\u003e: New utilization-based cluster autoscaler for Ray Data workloads (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59353\"\u003e#59353\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59362\"\u003e#59362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59366\"\u003e#59366\u003c/a\u003e). To use this new autoscaler set RAY_DATA_CLUSTER_AUTOSCALER=V2.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKafka Datasource\u003c/strong\u003e: Add Kafka as a native datasource for data ingestion (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58592\"\u003e#58592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDataset summary API\u003c/strong\u003e: Add \u003ccode\u003eDataset.summary()\u003c/code\u003e API for quick dataset inspection (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58862\"\u003e#58862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIceberg support\u003c/strong\u003e: Add Iceberg schema evolution, upsert, and overwrite support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59210\"\u003e#59210\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59335\"\u003e#59335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful error handling\u003c/strong\u003e: Add \u003ccode\u003eshould_continue_on_error\u003c/code\u003e for graceful error handling in batch inference (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59212\"\u003e#59212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDatetime compute expressions\u003c/strong\u003e: Add datetime compute expressions support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58740\"\u003e#58740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGrouped \u003ccode\u003ewith_column\u003c/code\u003e expressions\u003c/strong\u003e: Enable expressions for grouped \u003ccode\u003ewith_column\u003c/code\u003e in Ray Data (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58231\"\u003e#58231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParallelized collation\u003c/strong\u003e: Parallelize \u003ccode\u003eDefaultCollateFn\u003c/code\u003e, \u003ccode\u003earrow_batch_to_tensors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58821\"\u003e#58821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e💫 Enhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOptimized Autoscaler Step Size\u003c/strong\u003e: Optimize autoscaler to support configurable step size for actor pool scaling (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58726\"\u003e#58726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Streaming Repartition\u003c/strong\u003e: Improve streaming repartition performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58728\"\u003e#58728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActor init retry\u003c/strong\u003e: Add actor retry if there's a failure in \u003ccode\u003e__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59105\"\u003e#59105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFused Repartition + MapBatches\u003c/strong\u003e: Fuse StreamingRepartition with MapBatches operators to scale collate (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59108\"\u003e#59108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCombined repartitions\u003c/strong\u003e: Combine consecutive repartitions for efficiency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59145\"\u003e#59145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrefetch buffering\u003c/strong\u003e: Handle prefetch buffering in \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58657\"\u003e#58657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHashShuffle block breakdown\u003c/strong\u003e: \u003ccode\u003eHashShuffleAggregator\u003c/code\u003e breaks down blocks on finalize (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58603\"\u003e#58603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackpressure tuning\u003c/strong\u003e: Tune concurrency cap backpressure object store budget ratio (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58813\"\u003e#58813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNon-string ApproximateTopK\u003c/strong\u003e: Support non-string items for \u003ccode\u003eApproximateTopK\u003c/code\u003e aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58659\"\u003e#58659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLance version support\u003c/strong\u003e: Add version support to \u003ccode\u003eread_lance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58895\"\u003e#58895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDashboard metrics\u003c/strong\u003e: Add \u003ccode\u003etime_to_first_batch\u003c/code\u003e and \u003ccode\u003eget_ref_bundles\u003c/code\u003e metrics to data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58912\"\u003e#58912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIter prefetched bytes stats\u003c/strong\u003e: Add \u003ccode\u003eiter_prefetched_bytes\u003c/code\u003e statistics tracking (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58900\"\u003e#58900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable batching for \u003ccode\u003eiter_batches\u003c/code\u003e\u003c/strong\u003e: Add configurable batching for \u003ccode\u003eresolve_block_refs\u003c/code\u003e to speed up \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58467\"\u003e#58467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved dashboard metrics\u003c/strong\u003e: Improve Ray Data dashboard metrics display (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58667\"\u003e#58667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHistogram percentiles\u003c/strong\u003e: Update Ray Data histograms to show percentiles in data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58650\"\u003e#58650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated API removal\u003c/strong\u003e: Remove deprecated \u003ccode\u003eread_parquet_bulk\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58970\"\u003e#58970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBlock shaping option\u003c/strong\u003e: Add disable block shaping option to BlockOutputBuffer (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58757\"\u003e#58757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved concurrency lock\u003c/strong\u003e: Remove concurrency lock for better performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/56798\"\u003e#56798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔨 Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixes to Unique\u003c/strong\u003e: Fix support of list types for Unique aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58916\"\u003e#58916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParquet NaN fix\u003c/strong\u003e: Fix reading from written parquet for numpy with NaNs (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59172\"\u003e#59172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHash Shuffle empty block\u003c/strong\u003e: Fix empty block sort in hash shuffle operator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58836\"\u003e#58836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHive partitioning pushdown\u003c/strong\u003e: Fix pushdown optimizations with Hive partitioning (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58723\"\u003e#58723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObject Store usage reporting\u003c/strong\u003e: Fix \u003ccode\u003eobj_store_mem_max_pending_output_per_task\u003c/code\u003e reporting (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58864\"\u003e#58864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyarrow FileSystem serialization fix\u003c/strong\u003e: Handle filesystem serialization issue in \u003ccode\u003eget_parquet_dataset\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/57047\"\u003e#57047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAzure UC SAS\u003c/strong\u003e: Handle Azure UC user delegation SAS (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59393\"\u003e#59393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAsync UDF Thread Cleanup\u003c/strong\u003e: Close threads from async UDF after actor died (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59261\"\u003e#59261\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/ray-project/ray/commit/0de211850589aea71f842873bc32574c702ab492\"\u003e\u003ccode\u003e0de2118\u003c/code\u003e\u003c/a\u003e [Data] Concurrency cap backpressure with tuning (Disabled) (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59519\"\u003e#59519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/1736619b36ca2e48a9075daf65a7c66d281c66a7\"\u003e\u003ccode\u003e1736619\u003c/code\u003e\u003c/a\u003e [Data][Cherry-pick] Fix bug where \u003ccode\u003eAutoscalingCoordinator\u003c/code\u003e crashes if you req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/3332314b258b7bf679a502ac94711f8e770ed8ea\"\u003e\u003ccode\u003e3332314\u003c/code\u003e\u003c/a\u003e add missing cuda 12.9 ray-extra (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59495\"\u003e#59495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/b7d0c5b543415db693354778ca370095f256c185\"\u003e\u003ccode\u003eb7d0c5b\u003c/code\u003e\u003c/a\u003e change version to 2.53.0 (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59487\"\u003e#59487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/0ddb7eea6e84cad4b51dbdb5745164535e0a5e97\"\u003e\u003ccode\u003e0ddb7ee\u003c/code\u003e\u003c/a\u003e [core][rdt] Enable nixl for RDT Microbenchmarks (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59291\"\u003e#59291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/31a0e1eb74cec8e5f0541cd70ec60ed9057eeb22\"\u003e\u003ccode\u003e31a0e1e\u003c/code\u003e\u003c/a\u003e [Serve][3/n] Add router queue latency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59233\"\u003e#59233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/22cda946375db60517c7da7b57b6fd16a029160f\"\u003e\u003ccode\u003e22cda94\u003c/code\u003e\u003c/a\u003e [train] removes single python ml build (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59465\"\u003e#59465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/8d9a15f9397e9dce622710ce9156d6306b77abac\"\u003e\u003ccode\u003e8d9a15f\u003c/code\u003e\u003c/a\u003e [core] Revert server CreateCall creation change \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/55904\"\u003e#55904\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59448\"\u003e#59448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/694e6fd68c4d2c4558c91cd278b379b77098a5a9\"\u003e\u003ccode\u003e694e6fd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[Data] Fix DataContext deserialization issue with StatsActor\u0026quot; (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59458\"\u003e#59458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/e0049dcee72cd2865ba1405a85382d284a3a010c\"\u003e\u003ccode\u003ee0049dc\u003c/code\u003e\u003c/a\u003e [docs/data] Add \u003ccode\u003edownload\u003c/code\u003e to key user journeys in documentation (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59417\"\u003e#59417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ray-project/ray/compare/ray-2.7.0...ray-2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pyinstaller-hooks-contrib` from 2026.0 to 2026.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/releases\"\u003epyinstaller-hooks-contrib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2026.3\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.3/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.2/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.1/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more 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/pyinstaller/pyinstaller-hooks-contrib/blob/master/CHANGELOG.rst\"\u003epyinstaller-hooks-contrib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.3 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``chardet``, required for compatibility with ``chardet`` v7.0.0\n  and later. (`[#995](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995\u0026gt;`_)\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003echarset_normalizer\u003c/code\u003e hook for compatibility with\n\u003ccode\u003echarset-normalizer\u003c/code\u003e v3.4.5. (\u003ccode\u003e[#995](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/995\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003epsutil\u003c/code\u003e hook for compatibility with \u003ccode\u003epsutil\u003c/code\u003e installed in\na Termux environment with python 3.13 or later. (\u003ccode\u003e[#996](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/996) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/996\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2026.2 (2026-03-02)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``adbc_driver_manager`` package. (`[#990](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\u0026gt;`_)\n* Add hook for ``rich`` to ensure that modules from ``rich._unicode_data``\n  are collected for ``rich`` v14.3.0 and later. (`[#991](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991\u0026gt;`_)\n\u003ch2\u003e2026.1 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003elangchain\u003c/code\u003e hook for compatibility with \u003ccode\u003elangchain\u003c/code\u003e 1.2.10. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003evtkmodules\u003c/code\u003e hooks for compatibility with \u003ccode\u003evtk\u003c/code\u003e 9.6.0. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/27e0ba1940d35cce6a67a74034874edab084d000\"\u003e\u003ccode\u003e27e0ba1\u003c/code\u003e\u003c/a\u003e Release v2026.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/21bb45b4e54335cb9d95abce9be2b7bf10d1e5b1\"\u003e\u003ccode\u003e21bb45b\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 10 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/37bd32ad5c22ee70f824153dd6a6e79e44c5cbb8\"\u003e\u003ccode\u003e37bd32a\u003c/code\u003e\u003c/a\u003e hooks: update psutil hook for compatibility with Termux python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e327d75e53d0d6466e282b5aaf2eae93417894b2\"\u003e\u003ccode\u003ee327d75\u003c/code\u003e\u003c/a\u003e hooks: update charset_normalizer hook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/b79a3716f25137f049a643144ca8f2909a9886a6\"\u003e\u003ccode\u003eb79a371\u003c/code\u003e\u003c/a\u003e hooks: add hook for chardet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e6a1b4ae004cd4254af35697abc4ed89c12ff84e\"\u003e\u003ccode\u003ee6a1b4a\u003c/code\u003e\u003c/a\u003e Release v2026.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/0c3a814fb0a38f0d28d3b26f77935148657c21cc\"\u003e\u003ccode\u003e0c3a814\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 09 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://git...\n\n_Description has been truncated_","html_url":"https://github.com/ACFHarbinger/WSmartPlus-Route/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ACFHarbinger%2FWSmartPlus-Route/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"6.18.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-06T03:39:09.000Z","version_change":"6.18.0 → 6.19.0","issue":{"uuid":"4032029370","node_id":"PR_kwDOQsBs9c7IY8TQ","number":12,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 40 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-13T03:36:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T03:39:09.000Z","updated_at":"2026-03-13T03:36:27.000Z","time_to_close":604638,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":40,"packages":[{"name":"torchrl","old_version":"0.3.1","new_version":"0.10.1","repository_url":"https://github.com/pytorch/rl"},{"name":"tensordict","old_version":"0.3.1","new_version":"0.10.0","repository_url":"https://github.com/pytorch/tensordict"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"wandb","old_version":"0.24.1","new_version":"0.25.0","repository_url":"https://github.com/wandb/wandb"},{"name":"pyside6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"shiboken6","old_version":"6.10.1","new_version":"6.10.2"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"pyinstaller-hooks-contrib","old_version":"2026.0","new_version":"2026.2","repository_url":"https://github.com/pyinstaller/pyinstaller-hooks-contrib"},{"name":"setuptools","old_version":"80.10.2","new_version":"82.0.0","repository_url":"https://github.com/pypa/setuptools"},{"name":"aiorwlock","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/aio-libs/aiorwlock"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [torchrl](https://github.com/pytorch/rl), [tensordict](https://github.com/pytorch/tensordict), [rich](https://github.com/Textualize/rich), [tqdm](https://github.com/tqdm/tqdm), [cryptography](https://github.com/pyca/cryptography), [wandb](https://github.com/wandb/wandb), hexaly, [pyside6](https://pyside.org), [shiboken6](https://pyside.org), [plotly](https://github.com/plotly/plotly.py), [ray[tune]](https://github.com/ray-project/ray), [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyinstaller-hooks-contrib](https://github.com/pyinstaller/pyinstaller-hooks-contrib), [setuptools](https://github.com/pypa/setuptools), [aiorwlock](https://github.com/aio-libs/aiorwlock), [blessed](https://github.com/jquast/blessed), [certifi](https://github.com/certifi/python-certifi), [fastapi](https://github.com/fastapi/fastapi), [fastapi-cli](https://github.com/fastapi/fastapi-cli), [gmpy2](https://github.com/gmpy2/gmpy2), [google-api-core](https://github.com/googleapis/google-cloud-python), [greenlet](https://github.com/python-greenlet/greenlet), [grpcio](https://github.com/grpc/grpc), [mpmath](https://github.com/mpmath/mpmath), [narwhals](https://github.com/narwhals-dev/narwhals), [parso](https://github.com/davidhalter/parso), [pip](https://github.com/pypa/pip), [proto-plus](https://github.com/googleapis/proto-plus-python), [pydantic-core](https://github.com/pydantic/pydantic-core), [pytz](https://github.com/stub42/pytz), rich-toolkit, [sentry-sdk](https://github.com/getsentry/sentry-python), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [typer](https://github.com/fastapi/typer), [typer-slim](https://github.com/fastapi/typer), [unicodedata2](https://github.com/fonttools/unicodedata2), [virtualenv](https://github.com/pypa/virtualenv), [wcwidth](https://github.com/jquast/wcwidth), [werkzeug](https://github.com/pallets/werkzeug) and [wrapt](https://github.com/GrahamDumpleton/wrapt) to permit the latest version.\nUpdates `torchrl` from 0.3.1 to 0.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/rl/releases\"\u003etorchrl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTorchRL 0.10.1: Fixes and named dimensions in composite specs\u003c/h2\u003e\n\u003ch1\u003eRelease Notes - v0.10.1\u003c/h1\u003e\n\u003cp\u003eThis patch release includes bug fixes, type annotation improvements, and CI enhancements cherry-picked from main.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3168\"\u003e#3168\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [BugFix] AttributeError in accept_remote_rref_udf_invocation\n\u003cul\u003e\n\u003cli\u003eFixed AttributeError in RPC utilities when decorating classes with remote RRef invocation by handling None values in getattr calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Feature] Named dims in Composite\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for named dimensions in Composite specs, enabling better integration with PyTorch's named tensors\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3214\"\u003e#3214\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/louisfaury\"\u003e\u003ccode\u003e@​louisfaury\u003c/code\u003e\u003c/a\u003e - [Feature] Composite specs can create named tensors with 'zero' and 'rand'\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExtended Composite specs to properly propagate names when creating tensors using \u003ccode\u003ezero()\u003c/code\u003e and \u003ccode\u003erand()\u003c/code\u003e methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eType Annotations \u0026amp; Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Typing] Edit wrongfully set str type annotations\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect string type annotations across 19 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [Versioning] Fix doc versioning\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed documentation versioning issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI/Build Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Use pip install\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated CI workflows to use pip install across 41 files\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix missing librhash0 in doc CI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing librhash0 dependency in documentation CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Fix benchmarks for LLMs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LLM benchmark CI configurations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e\u003c/strong\u003e - \u003ca href=\"https://github.com/vmoens\"\u003e\u003ccode\u003e@​vmoens\u003c/code\u003e\u003c/a\u003e - [CI] Upgrade doc python version\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Python version in documentation build workflows and added vLLM plugin entry point for FP32 overrides\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTorchRL 0.10.0: async LLM inference\u003c/h2\u003e\n\u003ch1\u003eTorchRL 0.10.0 Release Notes\u003c/h1\u003e\n\u003ch2\u003eWhat's New in 0.10.0\u003c/h2\u003e\n\u003cp\u003eTorchRL 0.10.0 introduces significant advancements in Large Language Model (LLM) support, new algorithms, enhanced environment integrations, and numerous performance improvements and bug fixes.\u003c/p\u003e\n\u003ch2\u003eMajor Features\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/pytorch/rl/commit/a1ebe3cd31d12d7599fe1441ee12f1092a3ede3d\"\u003e\u003ccode\u003ea1ebe3c\u003c/code\u003e\u003c/a\u003e Versioning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/4a58d57125feb9c1103b3ecd3d102a11148a05f3\"\u003e\u003ccode\u003e4a58d57\u003c/code\u003e\u003c/a\u003e [Refactor] Make env creator optional for Ray\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/376a27dae2c704091dff531ec7da7a4311268d39\"\u003e\u003ccode\u003e376a27d\u003c/code\u003e\u003c/a\u003e [CI] Upgrade doc python version (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/530f772c3f2cdf2c5d0bfa13d45741b23889c256\"\u003e\u003ccode\u003e530f772\u003c/code\u003e\u003c/a\u003e [CI] Fix benchmarks for LLMs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/8d2ad899c10512f25749994cb05284f8a6e05c7f\"\u003e\u003ccode\u003e8d2ad89\u003c/code\u003e\u003c/a\u003e [Feature] Composite specs can create named tensors with 'zero' and 'rand' (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/3814305ad4a5d4688f0598e88da99068c986a393\"\u003e\u003ccode\u003e3814305\u003c/code\u003e\u003c/a\u003e [CI] Fix missing librhash0 in doc CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/471669dd8ef35a2d517572789101dbdcc71d05e6\"\u003e\u003ccode\u003e471669d\u003c/code\u003e\u003c/a\u003e [CI] Use pip install (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/92b4c93e7e51959e5b7dc051b94db03e607c47f8\"\u003e\u003ccode\u003e92b4c93\u003c/code\u003e\u003c/a\u003e [Typing] Edit wrongfully set str type annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/48dad307092ead6bfcf8c30e4c6c04b01b1a92d7\"\u003e\u003ccode\u003e48dad30\u003c/code\u003e\u003c/a\u003e [Feature] Named dims in Composite (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/rl/commit/35c76ac98b0ecc6fa6575bbe426a74db2bbb4951\"\u003e\u003ccode\u003e35c76ac\u003c/code\u003e\u003c/a\u003e [Versioning] Fix doc versioning (\u003ca href=\"https://redirect.github.com/pytorch/rl/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/rl/compare/v0.3.1...v0.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tensordict` from 0.3.1 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/tensordict/releases\"\u003etensordict's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTensorDict 0.10.0: MDS, type annotation and typed \u003ccode\u003eMetaData\u003c/code\u003e\u003c/h2\u003e\n\u003ch1\u003eTensorDict 0.10.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eWe are excited to announce the release of TensorDict 0.10.0! This release includes significant improvements to type annotations, new features for metadata handling, enhanced tensor operations, and numerous bug fixes that improve the overall stability and usability of the library.\u003c/p\u003e\n\u003ch2\u003e🎉 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTyped MetaData\u003c/strong\u003e: Complete rewrite of metadata handling with full type support (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTensorCollection Parent Class\u003c/strong\u003e: New parent class providing better type annotations and enhanced functionality (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEnhanced String Support\u003c/strong\u003e: \u003ccode\u003eto_struct_array\u003c/code\u003e now supports string data types (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Type Safety\u003c/strong\u003e: Comprehensive type annotation improvements across the entire codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBetter TensorClass Support\u003c/strong\u003e: Enhanced ClassVar support and super() functionality\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMDS data interface\u003c/strong\u003e: the \u003ccode\u003eto_mds\u003c/code\u003e method creates an MDS dataset on your favourite location -- no more painful columns definition etc (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for autograd's \u003ccode\u003egrad\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003ch3\u003eCore Functionality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e): Complete rewrite of metadata handling system with full type support, enabling better static analysis and runtime type checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] TensorCollection parent class and better type annotation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1388\"\u003e#1388\u003c/a\u003e): New parent class that provides enhanced type annotations and improved inheritance hierarchy\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] to_struct_array with strings\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1410\"\u003e#1410\u003c/a\u003e): Extended \u003ccode\u003eto_struct_array\u003c/code\u003e functionality to handle string data types\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] MDS dataset helper functions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e): New helper functions for working with MDS (Multi-Dimensional Scaling) datasets\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] implement tensor_split\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1386\"\u003e#1386\u003c/a\u003e): Added support for \u003ccode\u003etensor_split\u003c/code\u003e operation to match PyTorch tensor API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] accept cap-str as input to set_interaction_type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1387\"\u003e#1387\u003c/a\u003e): Enhanced flexibility in interaction type setting by accepting capitalized strings\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Allow in-place modification of lazy stacks\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1384\"\u003e#1384\u003c/a\u003e): Enabled in-place modifications for lazy stacked tensors, improving memory efficiency\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Ensure super() works with TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1381\"\u003e#1381\u003c/a\u003e): Fixed super() functionality in TensorClass inheritance chains\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Feature] Add \u003cstrong\u003eall\u003c/strong\u003e everywhere\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1389\"\u003e#1389\u003c/a\u003e): Added comprehensive \u003ccode\u003e__all__\u003c/code\u003e declarations across all modules for better IDE support and import control\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType System Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Typing] \u003ccode\u003e@overload\u003c/code\u003e for methods that have a reduce arg\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1427\"\u003e#1427\u003c/a\u003e): Added proper type overloads for methods with reduce parameters\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] A bunch of type annotation improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1409\"\u003e#1409\u003c/a\u003e): Comprehensive type annotation improvements across the codebase\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better CompatibleType definition\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1404\"\u003e#1404\u003c/a\u003e): Enhanced type definitions for better compatibility checking\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Add _from_tensordict to TensorClass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1403\"\u003e#1403\u003c/a\u003e): Added internal method for TensorClass construction from TensorDict\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BE] Better type annotation for \u003ccode\u003e__getitem__\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1402\"\u003e#1402\u003c/a\u003e): Improved type annotations for indexing operations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCritical Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix stacking typed MetaData\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e): Fixed issues with stacking operations on typed metadata\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Call synchronization when using the td.to(\u0026quot;cpu\u0026quot;) operation on third-party devices\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1425\"\u003e#1425\u003c/a\u003e): Fixed potential precision issues when transferring tensors from third-party devices to CPU\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix missing _maybe_broadcast_other in base.py\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1422\"\u003e#1422\u003c/a\u003e): Fixed missing broadcast functionality in base operations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] lock_() consolidated tds to avoid overriding values\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1408\"\u003e#1408\u003c/a\u003e): Fixed value override issues in locked TensorDicts during consolidation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTensorClass Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Args for TC with ClassVar\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1401\"\u003e#1401\u003c/a\u003e): Fixed argument handling for TensorClass with ClassVar annotations\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[BugFix] Fix ClassVar support in tensorclass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1398\"\u003e#1398\u003c/a\u003e): Enhanced ClassVar support in tensorclass decorator\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/c34264a58b12471dc3e2913ea586b32431872d4c\"\u003e\u003ccode\u003ec34264a\u003c/code\u003e\u003c/a\u003e release/0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/6139ec25aa84a7c781bb44b040a3f5a1ef59dc4a\"\u003e\u003ccode\u003e6139ec2\u003c/code\u003e\u003c/a\u003e [CI] Fix windows wheels versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/2c0794c9cae75594e16ee08a2872274fd4e69edc\"\u003e\u003ccode\u003e2c0794c\u003c/code\u003e\u003c/a\u003e [Feature] Support for \u003ccode\u003etorch.autograd.grad\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/835381120c6392c5cae4231372e4545717c45315\"\u003e\u003ccode\u003e8353811\u003c/code\u003e\u003c/a\u003e [CI] Better versioning (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/648f522a38062bf690ec3a8fab16f6e5e5185015\"\u003e\u003ccode\u003e648f522\u003c/code\u003e\u003c/a\u003e [Doc,CI] Fix installation of the lib for releases in doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/8fc24c058fe158ea4d139116f599b760a864da7b\"\u003e\u003ccode\u003e8fc24c0\u003c/code\u003e\u003c/a\u003e [Doc] Fix doc errors (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/d12408fbb7e2a8e8a6dc8392e0703e4f7bf13a0b\"\u003e\u003ccode\u003ed12408f\u003c/code\u003e\u003c/a\u003e [Doc, CI] Fix Doc CI (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/255a0401b67f0ed8d21b7bda763973f0ec56f0bb\"\u003e\u003ccode\u003e255a040\u003c/code\u003e\u003c/a\u003e [BugFix] Fix stacking typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/466aa99ff2cd6659a16ae3a048a8bba62d5740ee\"\u003e\u003ccode\u003e466aa99\u003c/code\u003e\u003c/a\u003e [Feature] Typed MetaData (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/tensordict/commit/e9d84398926f87d3504fea68279de0dafc9ad78d\"\u003e\u003ccode\u003ee9d8439\u003c/code\u003e\u003c/a\u003e [Feature] MDS dataset helper functions (\u003ca href=\"https://redirect.github.com/pytorch/tensordict/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/tensordict/compare/v0.3.1...v0.10.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.3.1 to 14.3.3\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 infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\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/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\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/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wandb` from 0.24.1 to 0.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wandb/wandb/releases\"\u003ewandb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/blob/main/CHANGELOG.md\"\u003ewandb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.25.0] - 2026-02-12\u003c/h2\u003e\n\u003ch3\u003eNotable Changes\u003c/h3\u003e\n\u003cp\u003eThis version drops support for Python 3.8.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-run workspace experience in W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11299\"\u003ewandb/wandb#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig editor for W\u0026amp;B LEET TUI (\u003ccode\u003ewandb beta leet config\u003c/code\u003e command). (\u003ca href=\"https://github.com/dmitryduev\"\u003e\u003ccode\u003e@​dmitryduev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11327\"\u003ewandb/wandb#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eowner\u003c/code\u003e property on \u003ccode\u003ewandb.apis.public.Project\u003c/code\u003e to access the project owner's user information. (\u003ca href=\"https://github.com/jacobromero\"\u003e\u003ccode\u003e@​jacobromero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11278\"\u003ewandb/wandb#11278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 is no longer supported (\u003ca href=\"https://github.com/tonyyli-wandb\"\u003e\u003ccode\u003e@​tonyyli-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11198\"\u003ewandb/wandb#11198\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11290\"\u003ewandb/wandb#11290\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11164\"\u003ewandb/wandb#11164\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSweep agents now exit gracefully when the sweep is deleted, instead of running indefinitely with repeated 404 errors (\u003ca href=\"https://github.com/domphan-wandb\"\u003e\u003ccode\u003e@​domphan-wandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11226\"\u003ewandb/wandb#11226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewandb-core\u003c/code\u003e crashes no longer produce extremely long, repetitive tracebacks in older Python versions (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11284\"\u003ewandb/wandb#11284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTensorBoard sync no longer stops after 1 MB of data (\u003ca href=\"https://github.com/timoffex\"\u003e\u003ccode\u003e@​timoffex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11334\"\u003ewandb/wandb#11334\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRegression introduced in 0.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.24.2] - 2026-02-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewandb.Api() now supports Federated Auth (JWT based authentication). (\u003ca href=\"https://github.com/ryanbuccellato\"\u003e\u003ccode\u003e@​ryanbuccellato\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11243\"\u003ewandb/wandb#11243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh presigned download url when it expires during artifact file downloads. (\u003ca href=\"https://github.com/pingleiwandb\"\u003e\u003ccode\u003e@​pingleiwandb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/wandb/wandb/pull/11242\"\u003ewandb/wandb#11242\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/wandb/wandb/commit/317d48ce3a0e1e588de0b5826a8a208d5179a901\"\u003e\u003ccode\u003e317d48c\u003c/code\u003e\u003c/a\u003e Bump version and update CHANGELOG for release 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/9bdb12ba6f61d57f9ceb834a0e85e13848d5f487\"\u003e\u003ccode\u003e9bdb12b\u003c/code\u003e\u003c/a\u003e fix: tensorboard stopping reading files after the first megabyte (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11334\"\u003e#11334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/36548d8103d8b09446e338b5d9451977de14a636\"\u003e\u003ccode\u003e36548d8\u003c/code\u003e\u003c/a\u003e chore: update coverage[toml] requirement from ~=7.6 to ~=7.10 (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11305\"\u003e#11305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/cf8a15607378b2ec66a0fe0664bb30ae783e767f\"\u003e\u003ccode\u003ecf8a156\u003c/code\u003e\u003c/a\u003e chore: bump go version to 1.25.7 (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11335\"\u003e#11335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/e2d30da323abfb4f9e928c8860231c0a0d57a532\"\u003e\u003ccode\u003ee2d30da\u003c/code\u003e\u003c/a\u003e feat(leet): interactive config editor (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11327\"\u003e#11327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/faa6d7cf3b170261d92f576977ba3a9302d8a6b3\"\u003e\u003ccode\u003efaa6d7c\u003c/code\u003e\u003c/a\u003e refactor: simplify sentry handling in logging.go (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11331\"\u003e#11331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/08d855eb77c2aec71f7d17ad41595f5b3fbf6f79\"\u003e\u003ccode\u003e08d855e\u003c/code\u003e\u003c/a\u003e fix(sdk): skip list length constraints in pydantic v1 validation (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11330\"\u003e#11330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/19b63677fcefc83b015c2e9e46e8eb55a06ae085\"\u003e\u003ccode\u003e19b6367\u003c/code\u003e\u003c/a\u003e refactor: move Sentry capture rate-limiting to CoreLogger (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/220a522747b384a012faeb396a4cbdb4c0427d5a\"\u003e\u003ccode\u003e220a522\u003c/code\u003e\u003c/a\u003e chore(leet): changelog entry for multi-run workspace experience (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11325\"\u003e#11325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wandb/wandb/commit/daea9d9ff05f5e8a107201dee1d3f3b299d80721\"\u003e\u003ccode\u003edaea9d9\u003c/code\u003e\u003c/a\u003e feat(leet): multi-run workspace (\u003ca href=\"https://redirect.github.com/wandb/wandb/issues/11299\"\u003e#11299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wandb/wandb/compare/v0.24.1...v0.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hexaly` from 14.0.20251212 to  14.5.20260220\n\nUpdates `pyside6` from 6.10.1 to 6.10.2\n\nUpdates `shiboken6` from 6.10.1 to 6.10.2\n\nUpdates `plotly` from 6.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.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/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\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/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ray[tune]` to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ray-project/ray/releases\"\u003eray[tune]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRay-2.53.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRay plans to drop support for Pydantic V1 starting version 2.56.0. Please see \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58876\"\u003ethis RFC\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eRay Data now has support for bounded reading from Kafka and improved Iceberg support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRay Data\u003c/h2\u003e\n\u003cp\u003e🎉 New Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAutoscaling\u003c/strong\u003e: New utilization-based cluster autoscaler for Ray Data workloads (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59353\"\u003e#59353\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59362\"\u003e#59362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59366\"\u003e#59366\u003c/a\u003e). To use this new autoscaler set RAY_DATA_CLUSTER_AUTOSCALER=V2.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKafka Datasource\u003c/strong\u003e: Add Kafka as a native datasource for data ingestion (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58592\"\u003e#58592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDataset summary API\u003c/strong\u003e: Add \u003ccode\u003eDataset.summary()\u003c/code\u003e API for quick dataset inspection (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58862\"\u003e#58862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIceberg support\u003c/strong\u003e: Add Iceberg schema evolution, upsert, and overwrite support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59210\"\u003e#59210\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59335\"\u003e#59335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful error handling\u003c/strong\u003e: Add \u003ccode\u003eshould_continue_on_error\u003c/code\u003e for graceful error handling in batch inference (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59212\"\u003e#59212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDatetime compute expressions\u003c/strong\u003e: Add datetime compute expressions support (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58740\"\u003e#58740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGrouped \u003ccode\u003ewith_column\u003c/code\u003e expressions\u003c/strong\u003e: Enable expressions for grouped \u003ccode\u003ewith_column\u003c/code\u003e in Ray Data (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58231\"\u003e#58231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParallelized collation\u003c/strong\u003e: Parallelize \u003ccode\u003eDefaultCollateFn\u003c/code\u003e, \u003ccode\u003earrow_batch_to_tensors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58821\"\u003e#58821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e💫 Enhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOptimized Autoscaler Step Size\u003c/strong\u003e: Optimize autoscaler to support configurable step size for actor pool scaling (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58726\"\u003e#58726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved Streaming Repartition\u003c/strong\u003e: Improve streaming repartition performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58728\"\u003e#58728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActor init retry\u003c/strong\u003e: Add actor retry if there's a failure in \u003ccode\u003e__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59105\"\u003e#59105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFused Repartition + MapBatches\u003c/strong\u003e: Fuse StreamingRepartition with MapBatches operators to scale collate (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59108\"\u003e#59108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCombined repartitions\u003c/strong\u003e: Combine consecutive repartitions for efficiency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59145\"\u003e#59145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrefetch buffering\u003c/strong\u003e: Handle prefetch buffering in \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58657\"\u003e#58657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHashShuffle block breakdown\u003c/strong\u003e: \u003ccode\u003eHashShuffleAggregator\u003c/code\u003e breaks down blocks on finalize (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58603\"\u003e#58603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackpressure tuning\u003c/strong\u003e: Tune concurrency cap backpressure object store budget ratio (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58813\"\u003e#58813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNon-string ApproximateTopK\u003c/strong\u003e: Support non-string items for \u003ccode\u003eApproximateTopK\u003c/code\u003e aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58659\"\u003e#58659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLance version support\u003c/strong\u003e: Add version support to \u003ccode\u003eread_lance()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58895\"\u003e#58895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDashboard metrics\u003c/strong\u003e: Add \u003ccode\u003etime_to_first_batch\u003c/code\u003e and \u003ccode\u003eget_ref_bundles\u003c/code\u003e metrics to data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58912\"\u003e#58912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIter prefetched bytes stats\u003c/strong\u003e: Add \u003ccode\u003eiter_prefetched_bytes\u003c/code\u003e statistics tracking (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58900\"\u003e#58900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable batching for \u003ccode\u003eiter_batches\u003c/code\u003e\u003c/strong\u003e: Add configurable batching for \u003ccode\u003eresolve_block_refs\u003c/code\u003e to speed up \u003ccode\u003eiter_batches\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58467\"\u003e#58467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved dashboard metrics\u003c/strong\u003e: Improve Ray Data dashboard metrics display (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58667\"\u003e#58667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHistogram percentiles\u003c/strong\u003e: Update Ray Data histograms to show percentiles in data dashboard (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58650\"\u003e#58650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated API removal\u003c/strong\u003e: Remove deprecated \u003ccode\u003eread_parquet_bulk\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58970\"\u003e#58970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBlock shaping option\u003c/strong\u003e: Add disable block shaping option to BlockOutputBuffer (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58757\"\u003e#58757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved concurrency lock\u003c/strong\u003e: Remove concurrency lock for better performance (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/56798\"\u003e#56798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔨 Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixes to Unique\u003c/strong\u003e: Fix support of list types for Unique aggregator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58916\"\u003e#58916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParquet NaN fix\u003c/strong\u003e: Fix reading from written parquet for numpy with NaNs (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59172\"\u003e#59172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHash Shuffle empty block\u003c/strong\u003e: Fix empty block sort in hash shuffle operator (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58836\"\u003e#58836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHive partitioning pushdown\u003c/strong\u003e: Fix pushdown optimizations with Hive partitioning (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58723\"\u003e#58723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObject Store usage reporting\u003c/strong\u003e: Fix \u003ccode\u003eobj_store_mem_max_pending_output_per_task\u003c/code\u003e reporting (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/58864\"\u003e#58864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePyarrow FileSystem serialization fix\u003c/strong\u003e: Handle filesystem serialization issue in \u003ccode\u003eget_parquet_dataset\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/57047\"\u003e#57047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAzure UC SAS\u003c/strong\u003e: Handle Azure UC user delegation SAS (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59393\"\u003e#59393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAsync UDF Thread Cleanup\u003c/strong\u003e: Close threads from async UDF after actor died (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59261\"\u003e#59261\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/ray-project/ray/commit/0de211850589aea71f842873bc32574c702ab492\"\u003e\u003ccode\u003e0de2118\u003c/code\u003e\u003c/a\u003e [Data] Concurrency cap backpressure with tuning (Disabled) (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59519\"\u003e#59519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/1736619b36ca2e48a9075daf65a7c66d281c66a7\"\u003e\u003ccode\u003e1736619\u003c/code\u003e\u003c/a\u003e [Data][Cherry-pick] Fix bug where \u003ccode\u003eAutoscalingCoordinator\u003c/code\u003e crashes if you req...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/3332314b258b7bf679a502ac94711f8e770ed8ea\"\u003e\u003ccode\u003e3332314\u003c/code\u003e\u003c/a\u003e add missing cuda 12.9 ray-extra (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59495\"\u003e#59495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/b7d0c5b543415db693354778ca370095f256c185\"\u003e\u003ccode\u003eb7d0c5b\u003c/code\u003e\u003c/a\u003e change version to 2.53.0 (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59487\"\u003e#59487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/0ddb7eea6e84cad4b51dbdb5745164535e0a5e97\"\u003e\u003ccode\u003e0ddb7ee\u003c/code\u003e\u003c/a\u003e [core][rdt] Enable nixl for RDT Microbenchmarks (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59291\"\u003e#59291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/31a0e1eb74cec8e5f0541cd70ec60ed9057eeb22\"\u003e\u003ccode\u003e31a0e1e\u003c/code\u003e\u003c/a\u003e [Serve][3/n] Add router queue latency (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59233\"\u003e#59233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/22cda946375db60517c7da7b57b6fd16a029160f\"\u003e\u003ccode\u003e22cda94\u003c/code\u003e\u003c/a\u003e [train] removes single python ml build (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59465\"\u003e#59465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/8d9a15f9397e9dce622710ce9156d6306b77abac\"\u003e\u003ccode\u003e8d9a15f\u003c/code\u003e\u003c/a\u003e [core] Revert server CreateCall creation change \u003ca href=\"https://redirect.github.com/ray-project/ray/issues/55904\"\u003e#55904\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59448\"\u003e#59448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/694e6fd68c4d2c4558c91cd278b379b77098a5a9\"\u003e\u003ccode\u003e694e6fd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[Data] Fix DataContext deserialization issue with StatsActor\u0026quot; (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59458\"\u003e#59458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ray-project/ray/commit/e0049dcee72cd2865ba1405a85382d284a3a010c\"\u003e\u003ccode\u003ee0049dc\u003c/code\u003e\u003c/a\u003e [docs/data] Add \u003ccode\u003edownload\u003c/code\u003e to key user journeys in documentation (\u003ca href=\"https://redirect.github.com/ray-project/ray/issues/59417\"\u003e#59417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ray-project/ray/compare/ray-2.7.0...ray-2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `pyinstaller-hooks-contrib` from 2026.0 to 2026.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/releases\"\u003epyinstaller-hooks-contrib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2026.2\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.2/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more details\u003c/p\u003e\n\u003ch2\u003ev2026.1\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://www.github.com/pyinstaller/pyinstaller-hooks-contrib/tree/v2026.1/CHANGELOG.rst\"\u003echangelog\u003c/a\u003e for more 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/pyinstaller/pyinstaller-hooks-contrib/blob/master/CHANGELOG.rst\"\u003epyinstaller-hooks-contrib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.2 (2026-03-02)\u003c/h2\u003e\n\u003cp\u003eNew hooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add hook for ``adbc_driver_manager`` package. (`[#990](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\u0026gt;`_)\n* Add hook for ``rich`` to ensure that modules from ``rich._unicode_data``\n  are collected for ``rich`` v14.3.0 and later. (`[#991](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991)\n  \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/991\u0026gt;`_)\n\u003ch2\u003e2026.1 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eUpdated hooks\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003elangchain\u003c/code\u003e hook for compatibility with \u003ccode\u003elangchain\u003c/code\u003e 1.2.10. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003evtkmodules\u003c/code\u003e hooks for compatibility with \u003ccode\u003evtk\u003c/code\u003e 9.6.0. (\u003ccode\u003e[#987](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987) \u0026lt;https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/987\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e6a1b4ae004cd4254af35697abc4ed89c12ff84e\"\u003e\u003ccode\u003ee6a1b4a\u003c/code\u003e\u003c/a\u003e Release v2026.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/0c3a814fb0a38f0d28d3b26f77935148657c21cc\"\u003e\u003ccode\u003e0c3a814\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 09 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/71cc07484a5e041e34230b38deb6cd3505ed223f\"\u003e\u003ccode\u003e71cc074\u003c/code\u003e\u003c/a\u003e hooks: add hook for rich\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/13e3b4286f6032f4ff10f87ae764ff3871f604ee\"\u003e\u003ccode\u003e13e3b42\u003c/code\u003e\u003c/a\u003e Add hook for adbc-driver-manager (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/9a56e21a0b6ed3179d1527abb5d89227c7b8ea3e\"\u003e\u003ccode\u003e9a56e21\u003c/code\u003e\u003c/a\u003e Scheduled weekly dependency update for week 08 (\u003ca href=\"https://redirect.github.com/pyinstaller/pyinstaller-hooks-contrib/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/e989857070c04249a48db1e113ed749506e38a15\"\u003e\u003ccode\u003ee989857\u003c/code\u003e\u003c/a\u003e Release v2026.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/3a2f6d2682b89d0e49090254018ffe84f1b3d1e2\"\u003e\u003ccode\u003e3a2f6d2\u003c/code\u003e\u003c/a\u003e ci: release: repin towncrier and unpin python version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/20e4286639e4d7ff3668de6c13b6f4da8eb479ce\"\u003e\u003ccode\u003e20e4286\u003c/code\u003e\u003c/a\u003e ci: update actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/d8dc3985ae14cd51eba564870132eab381341ab0\"\u003e\u003ccode\u003ed8dc398\u003c/code\u003e\u003c/a\u003e hooks: update langchain hook for compatibility with langchain 1.2.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/commit/ed84feecca99e50e056e0e414b1d7aa48ea1d9e5\"\u003e\u003ccode\u003eed84fee\u003c/code\u003e\u003c/a\u003e hookutils: vtkmodules: update hidden imports for vtk 9.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinstaller/pyinstaller-hooks-contrib/compare/v2026.0...v2026.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.10.2 to 82.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\"\u003esetuptools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev82.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epkg_resources\u003c/code\u003e has been removed from Setuptools. Most common uses of \u003ccode\u003epkg_resources\u003c/code\u003e have been superseded by the \u003ccode\u003eimportlib.resources \u0026lt;https://docs.python.org/3/library/importlib.resources.html\u0026gt;\u003c/code\u003e_ and \u003ccode\u003eimportlib.metadata \u0026lt;https://docs.python.org/3/library/importlib.metadata.html\u0026gt;\u003c/code\u003e_ projects. Projects and environments relying on \u003ccode\u003epkg_resources\u003c/code\u003e for namespace packages or other behavior should depend on older versions of \u003ccode\u003esetuptools\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev81.0.0\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (\u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/03f3615362c4eb19c770b71be5bd58e38f235528\"\u003e\u003ccode\u003e03f3615\u003c/code\u003e\u003c/a\u003e Bump version: 81.0.0 → 82.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/530d11498af526c4210d8eeaa1ed6c63f44a390f\"\u003e\u003ccode\u003e530d114\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5007\"\u003e#5007\u003c/a\u003e from pypa/feature/remove-more-pkg_resources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/11efe9f552290bf536515d458aa85752a0606aa8\"\u003e\u003ccode\u003e11efe9f\u003c/code\u003e\u003c/a\u003e Merge branch 'maint/75.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/118f129dd0fb319058bd05f382c50188fd60a60e\"\u003e\u003ccode\u003e118f129\u003c/code\u003e\u003c/a\u003e Bump version: 75.3.3 → 75.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/90561ffde1220a590b7644745f48b5837b1a130d\"\u003e\u003ccode\u003e90561ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5150\"\u003e#5150\u003c/a\u003e from UladzimirTrehubenka/backport_cve_47273\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/4595034db8aab4ea33035a47a068b04fd8aa00cc\"\u003e\u003ccode\u003e4595034\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/fc008006fc072af02eb7e0b601172c67eba395e3\"\u003e\u003ccode\u003efc00800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools/issues/5171\"\u003e#5171\u003c/a\u003e from cclauss/ruff-v0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/127e561362a2b4e560faabe9e979ed848106b62d\"\u003e\u003ccode\u003e127e561\u003c/code\u003e\u003c/a\u003e Remove tests reliant on pkg_resources, rather than xfailing them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/64bc21e10b5d749b1b75fa334caedb67cc7414c4\"\u003e\u003ccode\u003e64bc21e\u003c/code\u003e\u003c/a\u003e Reference the superseding libraries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools/commit/cf1ff459ea997b615a75d99304f6c9aa1fc94c06\"\u003e\u003ccode\u003ecf1ff45\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into debt/pbr-without-pkg_resources\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools/compare/v80.10.2...v82.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiorwlock` from 1.5.0 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiorwlock/releases\"\u003eaiorwlock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a cross-event-loop race condition in lock acquisition.\u003c/li\u003e\n\u003cli\u003eFixed a deadlock that could occur when tasks are cancelled.\u003c/li\u003e\n\u003cli\u003eImplemented \u003ccode\u003e__slots__\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiorwlock/blob/master/CHANGES.rst\"\u003eaiorwlock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.5.1 (2026-02-20)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a cross-event-loop race condition in lock acquisition.\u003c/li\u003e\n\u003cli\u003eFixed a deadlock that could occur when tasks are cancelled.\u003c/li\u003e\n\u003cli\u003eImplemented \u003ccode\u003e__slots__\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.4.0 (2024-01-20)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLazily evaluate current loop to allow instantiating lock outside of async functions.\u003c/li\u003e\n\u003cli\u003eSupport Python 3.11 and 3.12.\u003c/li\u003e\n\u003cli\u003eDrop Python 3.7 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.3.0 (2022-01-18)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped Python 3.6 support\u003c/li\u003e\n\u003cli\u003ePython 3.10 is officially supported\u003c/li\u003e\n\u003cli\u003eDrop deprecated \u003ccode\u003eloop\u003c/code\u003e parameter from \u003ccode\u003eRWLock\u003c/code\u003e constructor\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.2.0 (2021-11-09)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug that makes concurrent writes possible under some (rare) conjunctions (\u003ca href=\"https://redirect.github.com/aio-libs/aiorwlock/issues/235\"\u003e#235\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.1.0 (2021-09-27)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove explicit loop usage in \u003ccode\u003easyncio.sleep()\u003c/code\u003e call, make the library forward\ncompatible with Python 3.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.0.0 (2020-12-32)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix a bug with cancelation during acquire \u003ca href=\"https://redirect.github.com/aio-libs/aiorwlock/issues/170\"\u003e#170\u003c/a\u003e (thanks \u003ca href=\"https://gi...\n\n_Description has been truncated_","html_url":"https://github.com/ACFHarbinger/WSmartPlus-Route/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ACFHarbinger%2FWSmartPlus-Route/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"6.18.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-02T06:27:27.000Z","version_change":"6.18.0 → 6.19.0","issue":{"uuid":"4009546346","node_id":"PR_kwDOPc5jCc7HPlcs","number":85,"state":"closed","title":"chore(deps): bump the python group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T06:20:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T06:27:27.000Z","updated_at":"2026-03-09T06:20:27.000Z","time_to_close":604378,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python","update_count":10,"packages":[{"name":"aniworld","old_version":"3.9.0","new_version":"4.1.1","repository_url":"https://github.com/phoenixthrush/AniWorld-Downloader"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.128.7","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.47","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"sqlmodel","old_version":"0.0.32","new_version":"0.0.37","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"yt-dlp","old_version":"2026.2.4","new_version":"2026.2.21","repository_url":"https://github.com/yt-dlp/yt-dlp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aniworld](https://github.com/phoenixthrush/AniWorld-Downloader) | `3.9.0` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.128.7` | `0.135.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.18.0` | `6.19.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.4` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.47` |\n| [sqlmodel](https://github.com/fastapi/sqlmodel) | `0.0.32` | `0.0.37` |\n| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | `2026.2.4` | `2026.2.21` |\n\n\nUpdates `aniworld` from 3.9.0 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/releases\"\u003eaniworld's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.4.1.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.1.0...v.4.1.1\"\u003ehttps://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.1.0...v.4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev.4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's new?\u003c/h2\u003e\n\u003ch3\u003es.to Support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded full support for search and download for CLI \u0026amp; WebUI\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded feature for changing the order of the download queue\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ffmpeg auto-dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor all fixes and changes see:\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.0.0...v.4.1.0\"\u003ehttps://github.com/phoenixthrush/AniWorld-Downloader/compare/v.4.0.0...v.4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev.4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's New\u003c/h2\u003e\n\u003ch3\u003eDownload\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSwitched from yt-dlp to ffmpeg\u003c/strong\u003e: downloads are now \u003ccode\u003e.mkv\u003c/code\u003e instead of \u003ccode\u003e.mp4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConfigurable video codec\u003c/strong\u003e: choose between \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eh264\u003c/code\u003e, \u003ccode\u003eh265\u003c/code\u003e, or \u003ccode\u003eav1\u003c/code\u003e via \u003ccode\u003eANIWORLD_VIDEO_CODEC\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSSO / OIDC login\u003c/strong\u003e: sign in via OpenID Connect provider, with optional force-SSO mode\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePersistent download queue\u003c/strong\u003e: queue is now stored in SQLite and survives restarts\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRandom anime button\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDownloaded badge\u003c/strong\u003e: see which episodes you already have (requested by EasyCrashX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLanguage separation\u003c/strong\u003e: optionally sort downloads into subfolders per language (\u003ccode\u003egerman-dub/\u003c/code\u003e, \u003ccode\u003eenglish-sub/\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOption to disable English Sub downloads\u003c/strong\u003e: save disk space when downloading all languages\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCancel downloads\u003c/strong\u003e: gracefully stops after the current episode finishes (requests by TheMRX)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDefault port changed\u003c/strong\u003e from \u003ccode\u003e5000\u003c/code\u003e to \u003ccode\u003e8080\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebUI Security\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCSRF protection\u003c/li\u003e\n\u003cli\u003eBcrypt password hashing (replaces SHA-256)\u003c/li\u003e\n\u003cli\u003ePassword minimum length increased to 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e.env\u003c/code\u003e file support\u003c/strong\u003e: all settings configurable via environment variables with a documented \u003ccode\u003e.env.example\u003c/code\u003e template\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDNS-over-HTTPS\u003c/strong\u003e enabled by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocker\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSmaller image\u003c/strong\u003e: switched to \u003ccode\u003epython:3.13-alpine\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNamed volume\u003c/strong\u003e for persistent config (\u003ccode\u003e~/.aniworld\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProduction WSGI server\u003c/strong\u003e (waitress) instead of Flask dev server\u003c/li\u003e\n\u003cli\u003eComprehensive \u003ccode\u003edocker-compose.yaml\u003c/code\u003e with all config options documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/eeb010b1372b3516a7fcf0e47b8de05e17e2ffe6\"\u003e\u003ccode\u003eeeb010b\u003c/code\u003e\u003c/a\u003e Bump version from 4.1.0 to 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/1ce13067597f2f22b05129383439c2784d442033\"\u003e\u003ccode\u003e1ce1306\u003c/code\u003e\u003c/a\u003e add webui showcase to README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/509a8650d6463c2881524f0db59d621a4641ecff\"\u003e\u003ccode\u003e509a865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/phoenixthrush/AniWorld-Downloader/issues/152\"\u003e#152\u003c/a\u003e from mzmonkey/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/647d2c6dfb0d15f1649f5aae82a0987d8e818963\"\u003e\u003ccode\u003e647d2c6\u003c/code\u003e\u003c/a\u003e Remove instead of replacing illegal characters in file names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/dfe11da2b60456f862244bf041f222c19c42f61e\"\u003e\u003ccode\u003edfe11da\u003c/code\u003e\u003c/a\u003e ~ Fixed issue where non-video files increase episode count in library\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/92dfa72de8595beedf3b21494bcb8ec985be95a6\"\u003e\u003ccode\u003e92dfa72\u003c/code\u003e\u003c/a\u003e ~ Changed some behavior with library and language separation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/d38118b0ee576ba3319e4bc6e2bbfa749c2c1361\"\u003e\u003ccode\u003ed38118b\u003c/code\u003e\u003c/a\u003e ~ Fixed language separation library compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/033ce4ed0b62df67b803082898bf7046971a14fd\"\u003e\u003ccode\u003e033ce4e\u003c/code\u003e\u003c/a\u003e + Add Custom Paths feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/bfea9acf82ba1270648031402152cc06fd31ff6f\"\u003e\u003ccode\u003ebfea9ac\u003c/code\u003e\u003c/a\u003e + Improved UX/UI design to avoid confusion with new notice.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/commit/5d00caa738883771ba72420b8e2237243482d256\"\u003e\u003ccode\u003e5d00caa\u003c/code\u003e\u003c/a\u003e + Added notice for temporary webui changes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/phoenixthrush/AniWorld-Downloader/compare/v.3.9.0...v.4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.128.7 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.128.7...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.5.1 to 4.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(platforms): fix RST formatting and TOC hierarchy 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/platformdirs/pull/447\"\u003etox-dev/platformdirs#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure following Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/448\"\u003etox-dev/platformdirs#448\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/platformdirs/compare/4.9.1...4.9.2\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.9.1...4.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: enhance README, fix issues, and reorganize platforms.rst 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/platformdirs/pull/445\"\u003etox-dev/platformdirs#445\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/platformdirs/compare/4.9.0...4.9.1\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.9.0...4.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(usage): add use_site_for_root and comprehensive guidance 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/platformdirs/pull/439\"\u003etox-dev/platformdirs#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): use correct runtime dir path for OpenBSD 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/platformdirs/pull/440\"\u003etox-dev/platformdirs#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_applications_dir property 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/platformdirs/pull/442\"\u003etox-dev/platformdirs#442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_bin_dir property 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/platformdirs/pull/443\"\u003etox-dev/platformdirs#443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: split usage guide into tutorial, how-to, and reference 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/platformdirs/pull/441\"\u003etox-dev/platformdirs#441\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/platformdirs/compare/4.8.0...4.9.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.8.0...4.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(windows): document Store Python sandbox path behavior 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/platformdirs/pull/423\"\u003etox-dev/platformdirs#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_log_dir and document Store Python sandbox 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/platformdirs/pull/424\"\u003etox-dev/platformdirs#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_state_dir for system-wide state 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/platformdirs/pull/425\"\u003etox-dev/platformdirs#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add use_site_for_root parameter 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/platformdirs/pull/426\"\u003etox-dev/platformdirs#426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add PLATFORMDIRS_* env var overrides 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/platformdirs/pull/427\"\u003etox-dev/platformdirs#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add WIN_PD_OVERRIDE_* env var overrides 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/platformdirs/pull/428\"\u003etox-dev/platformdirs#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(macos): yield individual site dirs in iter_*_dirs 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/platformdirs/pull/429\"\u003etox-dev/platformdirs#429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_bin_dir property 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/platformdirs/pull/430\"\u003etox-dev/platformdirs#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_applications_dir property 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/platformdirs/pull/432\"\u003etox-dev/platformdirs#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(usage): note that home dir is in stdlib 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/platformdirs/pull/431\"\u003etox-dev/platformdirs#431\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/platformdirs/compare/4.7.1...4.8.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.7.1...4.8.0\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/tox-dev/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure following Diataxis framework :pr:\u003ccode\u003e448\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(platforms): fix RST formatting and TOC hierarchy :pr:\u003ccode\u003e447\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.1 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: enhance README, fix issues, and reorganize platforms.rst :pr:\u003ccode\u003e445\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.9.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📚 docs: split usage guide into tutorial, how-to, and reference :pr:\u003ccode\u003e441\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_bin_dir property :pr:\u003ccode\u003e443\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_applications_dir property :pr:\u003ccode\u003e442\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): use correct runtime dir path for OpenBSD :pr:\u003ccode\u003e440\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(usage): document use_site_for_root parameter :pr:\u003ccode\u003e439\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.8.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(usage): note that home dir is in stdlib :pr:\u003ccode\u003e431\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_applications_dir property :pr:\u003ccode\u003e432\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add user_bin_dir property :pr:\u003ccode\u003e430\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(macos): yield individual site dirs in iter_*_dirs :pr:\u003ccode\u003e429\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add WIN_PD_OVERRIDE_* env var overrides :pr:\u003ccode\u003e428\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(windows): add PLATFORMDIRS_* env var overrides :pr:\u003ccode\u003e427\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add use_site_for_root parameter :pr:\u003ccode\u003e426\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_state_dir for system-wide state :pr:\u003ccode\u003e425\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): add site_log_dir and document Store Python sandbox :pr:\u003ccode\u003e424\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(windows): document Store Python sandbox path behavior :pr:\u003ccode\u003e423\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.7.1 (2026-02-13)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(windows): avoid FileNotFoundError in sandboxed environments :pr:\u003ccode\u003e422\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.7.0 (2026-02-12)\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/tox-dev/platformdirs/commit/72271a62c70f665be6cad489d12f9855af8c4ff1\"\u003e\u003ccode\u003e72271a6\u003c/code\u003e\u003c/a\u003e Release 4.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/3e45fa98166ab8a9aba9c0d1e2a4a1bc252d183b\"\u003e\u003ccode\u003e3e45fa9\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure following Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/1d8448bc1697b259fbc596d6c31ee43d6e87fdf2\"\u003e\u003ccode\u003e1d8448b\u003c/code\u003e\u003c/a\u003e 📝 docs(platforms): fix RST formatting and TOC hierarchy (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/f65684930c59278b58f93639b343a312189c3695\"\u003e\u003ccode\u003ef656849\u003c/code\u003e\u003c/a\u003e Release 4.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d983fb18dcc3f688894f84783ae9b305b0c50e37\"\u003e\u003ccode\u003ed983fb1\u003c/code\u003e\u003c/a\u003e 📝 docs: enhance README, fix issues, and reorganize platforms.rst (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/685a1d9e874e3a52c6bb6a9263130b2d5f591ae2\"\u003e\u003ccode\u003e685a1d9\u003c/code\u003e\u003c/a\u003e Release 4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/ae73d3445bb67195f4745ebe9d3b5154de783c61\"\u003e\u003ccode\u003eae73d34\u003c/code\u003e\u003c/a\u003e 📚 docs: split usage guide into tutorial, how-to, and reference (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/816747efdd59fbe2c707192607343b80edd02e26\"\u003e\u003ccode\u003e816747e\u003c/code\u003e\u003c/a\u003e ✨ feat(api): add site_bin_dir property (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/7a47ac4ee69da98c44266b16f40ae038f2ddf2f3\"\u003e\u003ccode\u003e7a47ac4\u003c/code\u003e\u003c/a\u003e ✨ feat(api): add site_applications_dir property (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/c69a552803605c800ea00695cf749953de114652\"\u003e\u003ccode\u003ec69a552\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): use correct runtime dir path for OpenBSD (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.5.1...4.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.0 to 0.15.4\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.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\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/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\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/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.4\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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.4\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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip\"\u003eruff-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz\"\u003eruff-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-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://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz\"\u003eruff-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-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/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\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/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\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/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop explicit support for \u003ccode\u003e.qmd\u003c/code\u003e file extension (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23572\"\u003e#23572\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis can now be enabled instead by setting the \u003ca href=\"https://docs.astral.sh/ruff/settings/#extension\"\u003e\u003ccode\u003eextension\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e# ruff.toml\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff]\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude configured extensions in file discovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23400\"\u003e#23400\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Allow suspicious imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eS401\u003c/code\u003e-\u003ccode\u003eS415\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23441\"\u003e#23441\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Allow \u003ccode\u003eB901\u003c/code\u003e in pytest hook wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21931\"\u003e#21931\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add missing conventions from upstream (\u003ccode\u003eICN001\u003c/code\u003e, \u003ccode\u003eICN002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21373\"\u003e#21373\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f14edd8661e2803254f89265548c7487f47a09f6\"\u003e\u003ccode\u003ef14edd8\u003c/code\u003e\u003c/a\u003e Bump 0.15.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23595\"\u003e#23595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd09d370076ab585444fd39f0fee79bf29280b68\"\u003e\u003ccode\u003efd09d37\u003c/code\u003e\u003c/a\u003e Fix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/81d655fadce087b792e524ed1964e9bcc31b73cd\"\u003e\u003ccode\u003e81d655f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/625b4f5a672d1baaa6f25e0999ca428f3f2522f1\"\u003e\u003ccode\u003e625b4f5\u003c/code\u003e\u003c/a\u003e [ruff] docs: Clarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/60facfa0bc02689637e25237f0df5abfc2f27054\"\u003e\u003ccode\u003e60facfa\u003c/code\u003e\u003c/a\u003e one word typo fix in a \u003ccode\u003ewhile_loop.md\u003c/code\u003e test case (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23589\"\u003e#23589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbb9fa75cc1915973a739da0ec469094176bfdc6\"\u003e\u003ccode\u003efbb9fa7\u003c/code\u003e\u003c/a\u003e docs: fix incorrect import-heading example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5bc49a941279c9100ff834edae1cb63053aeec93\"\u003e\u003ccode\u003e5bc49a9\u003c/code\u003e\u003c/a\u003e Increase the ruleset size to 16 bits (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23586\"\u003e#23586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a62ba8c6e2bac0b899d90fd30a1b26c07aac44bb\"\u003e\u003ccode\u003ea62ba8c\u003c/code\u003e\u003c/a\u003e [ty] Fix overloaded callable assignability for unary Callable targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23277\"\u003e#23277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e5f2f36a3f49b45fd7506d42b12c495c2517e936\"\u003e\u003ccode\u003ee5f2f36\u003c/code\u003e\u003c/a\u003e Bump 0.15.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23585\"\u003e#23585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0e19fc9a61477e71abc4eb76f05a129b6b9ab873\"\u003e\u003ccode\u003e0e19fc9\u003c/code\u003e\u003c/a\u003e [ty] defer calculating conjunctions in narrowing constraints (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23552\"\u003e#23552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.4\"\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.46 to 2.0.47\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.47\u003c/h1\u003e\n\u003cp\u003eReleased: February 24, 2026\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 when using ORM mappings with Python 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e feature\nthat no longer requires \u0026quot;future annotations\u0026quot;, where the ORM's introspection\nof the \u003ccode\u003e__init__\u003c/code\u003e method of mapped classes would fail if non-present\nidentifiers in annotations were present.  The vendored \u003ccode\u003egetfullargspec()\u003c/code\u003e\nmethod has been amended to use \u003ccode\u003eFormat.FORWARDREF\u003c/code\u003e under Python 3.14 to\nprevent resolution of names that aren't present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13104\"\u003e#13104\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 The connection object returned by \u003ccode\u003e_engine.Engine.raw_connection()\u003c/code\u003e\nnow supports the context manager protocol, automatically returning the\nconnection to the pool when exiting the context.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13116\"\u003e#13116\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed an issue in the PostgreSQL dialect where foreign key constraint\nreflection would incorrectly swap or fail to capture \u003ccode\u003eonupdate\u003c/code\u003e and\n\u003ccode\u003eondelete\u003c/code\u003e values when these clauses appeared in a different order than\nexpected in the constraint definition. This issue primarily affected\nPostgreSQL-compatible databases such as CockroachDB, which may return \u003ccode\u003eON DELETE\u003c/code\u003e before \u003ccode\u003eON UPDATE\u003c/code\u003e in the constraint definition string. The\nreflection logic now correctly parses both clauses regardless of their\nordering.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13105\"\u003e#13105\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed issue in the \u003ccode\u003eengine_insertmanyvalues\u003c/code\u003e feature where using\nPostgreSQL's \u003ccode\u003eON CONFLICT\u003c/code\u003e clause with\n\u003ccode\u003e_dml.Insert.returning.sort_by_parameter_order\u003c/code\u003e enabled would\ngenerate invalid SQL when the insert used an implicit sentinel (server-side\nautoincrement primary key). The generated SQL would incorrectly declare a\nsentinel counter column in the \u003ccode\u003eimp_sen\u003c/code\u003e table alias without providing\ncorresponding values in the \u003ccode\u003eVALUES\u003c/code\u003e clause, leading to a\n\u003ccode\u003eProgrammingError\u003c/code\u003e indicating column count mismatch. The fix allows batch\nexecution mode when \u003ccode\u003eembed_values_counter\u003c/code\u003e is active, as the embedded\ncounter provides the ordering capability needed even with upsert behaviors,\nrather than unnecessarily downgrading to row-at-a-time execution.\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 `sqlmodel` from 0.0.32 to 0.0.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1773\"\u003e#1773\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1766\"\u003e#1766\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add script to remove Python 3.9 files, migrate to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1767\"\u003e#1767\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1761\"\u003e#1761\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.1 to 0.23.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1760\"\u003e#1760\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.34\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Enable tests with lower and upper bound versions. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1735\"\u003e#1735\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1758\"\u003e#1758\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.0 to 0.23.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1759\"\u003e#1759\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.2 to 0.23.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1756\"\u003e#1756\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.7 to 0.128.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1755\"\u003e#1755\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.33\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in inline comment in \u003ccode\u003eexpression.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1747\"\u003e#1747\u003c/a\u003e by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix async example in \u003ccode\u003esession.execute()\u003c/code\u003e docstring \u0026amp; deprecation message. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1643\"\u003e#1643\u003c/a\u003e by \u003ca href=\"https://github.com/DanielLeviLucas\"\u003e\u003ccode\u003e@​DanielLeviLucas\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update \u003ccode\u003emanagement-tasks.md\u003c/code\u003e to be in line with \u003ccode\u003emanagement-tasks.md\u003c/code\u003e in FastAPI repo. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1743\"\u003e#1743\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Update build script for \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1754\"\u003e#1754\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.6 to 0.128.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1751\"\u003e#1751\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.1 to 0.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1752\"\u003e#1752\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update build setup for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003esqlmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1753\"\u003e#1753\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.3 to 0.128.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1750\"\u003e#1750\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.1 to 0.128.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1746\"\u003e#1746\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.1 to 0.3.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1745\"\u003e#1745\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.0 to 0.128.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1742\"\u003e#1742\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Update \u003ccode\u003eValidationError\u003c/code\u003e schema in FastAPI-related tests to be compatible with FastAPI 0.128.1+. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1744\"\u003e#1744\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.14.14 to 0.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1740\"\u003e#1740\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add generate-readme to pre-commit. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1741\"\u003e#1741\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run mypy by pre-commit. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1738\"\u003e#1738\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.0 to 0.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1739\"\u003e#1739\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.37\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1773\"\u003e#1773\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.36\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003esqmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1772\"\u003e#1772\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.35\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1766\"\u003e#1766\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add script to remove Python 3.9 files, migrate to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1767\"\u003e#1767\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1761\"\u003e#1761\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.1 to 0.23.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1760\"\u003e#1760\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.34\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Enable tests with lower and upper bound versions. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1735\"\u003e#1735\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1758\"\u003e#1758\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.23.0 to 0.23.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1759\"\u003e#1759\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.2 to 0.23.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1756\"\u003e#1756\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.7 to 0.128.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1755\"\u003e#1755\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.33\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in inline comment in \u003ccode\u003eexpression.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1747\"\u003e#1747\u003c/a\u003e by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix async example in \u003ccode\u003esession.execute()\u003c/code\u003e docstring \u0026amp; deprecation message. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1643\"\u003e#1643\u003c/a\u003e by \u003ca href=\"https://github.com/DanielLeviLucas\"\u003e\u003ccode\u003e@​DanielLeviLucas\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update \u003ccode\u003emanagement-tasks.md\u003c/code\u003e to be in line with \u003ccode\u003emanagement-tasks.md\u003c/code\u003e in FastAPI repo. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1743\"\u003e#1743\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Update build script for \u003ccode\u003esqlmodel-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1754\"\u003e#1754\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.6 to 0.128.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1751\"\u003e#1751\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump typer from 0.21.1 to 0.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1752\"\u003e#1752\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update build setup for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003esqlmodel\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1753\"\u003e#1753\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.3 to 0.128.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1750\"\u003e#1750\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.128.1 to 0.128.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1746\"\u003e#1746\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/aa48bf53c87cda9f0ee3264b8752260c0c59661a\"\u003e\u003ccode\u003eaa48bf5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.37\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/1ecbba6e80733e904801cca7fac8e9f0f52fbff6\"\u003e\u003ccode\u003e1ecbba6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/8fabd10f8c2226d3d958ee2c6bfee795847cc9fe\"\u003e\u003ccode\u003e8fabd10\u003c/code\u003e\u003c/a\u003e 👷 Fix build CI to not attempt to build \u003ccode\u003esqlmodel-slim\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5f79efda79a867d69cf5f1c04e64899752abf61e\"\u003e\u003ccode\u003e5f79efd\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/43cc7d35cd9175cf29a93b7f470def590eb5e880\"\u003e\u003ccode\u003e43cc7d3\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/248a0b9017e67c33b5fc434d78237e041ed6585e\"\u003e\u003ccode\u003e248a0b9\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003esqlmodel-slim\u003c/code\u003e, no more versions will be released, use on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/3e123f71cbeacb4977c62b7ff7fde5e3efc2a79c\"\u003e\u003ccode\u003e3e123f7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f0a77e4169c96405f2f7325ca39d81b4bfa7ba70\"\u003e\u003ccode\u003ef0a77e4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/06b5a0132408f86b79626e4ebcac1983f99b11c0\"\u003e\u003ccode\u003e06b5a01\u003c/code\u003e\u003c/a\u003e 🔨 Add script to remove Python 3.9 files, migrate to Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1767\"\u003e#1767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/17fc7f5af1d4b67587012a53aa59cf9bc10c57eb\"\u003e\u003ccode\u003e17fc7f5\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.32...0.0.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yt-dlp` from 2026.2.4 to 2026.2.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yt-dlp/yt-dlp/releases\"\u003eyt-dlp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eyt-dlp 2026.02.21\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yt-dlp/yt-dlp#installation\" title=\"Installation instructions\"\u003e\u003cimg src=\"https://img.shields.io/badge/-Which%20file%20to%20download%3F-white.svg?style=for-the-badge\" alt=\"Installation\" /\u003e\u003c/a\u003e \u003ca href=\"https://discord.gg/H5MNcFW63r\" title=\"Discord\"\u003e\u003cimg src=\"https://img.shields.io/discord/807245652072857610?color=blue\u0026amp;labelColor=555555\u0026amp;label=\u0026amp;logo=discord\u0026amp;style=for-the-badge\" alt=\"Discord\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/yt-dlp/yt-dlp/blob/master/Maintainers.md#maintainers\" title=\"Donate\"\u003e\u003cimg src=\"https://img.shields.io/badge/_-Donate-red.svg?logo=githubsponsors\u0026amp;labelColor=555555\u0026amp;style=for-the-badge\" alt=\"Donate\" /\u003e\u003c/a\u003e \u003ca href=\"htt...\n\n_Description has been truncated_","html_url":"https://github.com/Zzackllack/AniBridge/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FAniBridge/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"}},{"old_version":"6.18.0","new_version":"6.19.0","update_type":"minor","path":null,"pr_created_at":"2026-03-02T00:55:26.000Z","version_change":"6.18.0 → 6.19.0","issue":{"uuid":"4008729644","node_id":"PR_kwDOJRiRKc7HNBN9","number":47,"state":"closed","title":"build(deps): bump the all group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T00:55:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T00:55:26.000Z","updated_at":"2026-03-09T00:55:18.000Z","time_to_close":604791,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all","update_count":2,"packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 2 updates in the / directory: [pyinstaller](https://github.com/pyinstaller/pyinstaller) and [python-dotenv](https://github.com/theskumar/python-dotenv).\n\nUpdates `pyinstaller` from 6.18.0 to 6.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout 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/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/amieldelatorre/spotilistcli/pull/47","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amieldelatorre%2Fspotilistcli/issues/47","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/47/packages"}},{"old_version":"6.18.0","new_version":"6.19.0","update_type":"minor","path":"/bot","pr_created_at":"2026-03-01T21:48:42.000Z","version_change":"6.18.0 → 6.19.0","issue":{"uuid":"4008354554","node_id":"PR_kwDONPjVhM7HL2Nz","number":210,"state":"closed","title":"Bump pyinstaller from 6.18.0 to 6.19.0 in /bot","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-02T01:07:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T21:48:42.000Z","updated_at":"2026-03-02T01:07:53.000Z","time_to_close":11944,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pyinstaller","old_version":"6.18.0","new_version":"6.19.0","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":"/bot","ecosystem":"pip"},"body":"Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.18.0 to 6.19.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.18.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller\u0026package-manager=pip\u0026previous-version=6.18.0\u0026new-version=6.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/GustaMantovani/Admine/pull/210","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GustaMantovani%2FAdmine/issues/210","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/210/packages"}},{"old_version":"\u003c6.19,\u003e=6.8.0","new_version":"\u003e=6.8.0,\u003c6.20","update_type":null,"path":null,"pr_created_at":"2026-03-01T19:03:00.000Z","version_change":"\u003c6.19,\u003e=6.8.0 → \u003e=6.8.0,\u003c6.20","issue":{"uuid":"4008024011","node_id":"PR_kwDOEFirmc7HK0Ji","number":422,"state":"closed","title":"build(deps-dev): update pyinstaller requirement from \u003c6.19,\u003e=6.8.0 to \u003e=6.8.0,\u003c6.20","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-02T16:57:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T19:03:00.000Z","updated_at":"2026-03-02T16:57:40.000Z","time_to_close":78878,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"pyinstaller","old_version":"\u003c6.19,\u003e=6.8.0","new_version":"\u003e=6.8.0,\u003c6.20","repository_url":"https://github.com/pyinstaller/pyinstaller"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyinstaller](https://github.com/pyinstaller/pyinstaller) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyinstaller/pyinstaller/releases\"\u003epyinstaller's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.19.0\u003c/h2\u003e\n\u003cp\u003ePlease see the \u003ca href=\"https://pyinstaller.org/en/v6.19.0/CHANGES.html#id1\"\u003ev6.19.0 section of the changelog\u003c/a\u003e for a list of the changes since v6.18.0.\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/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst\"\u003epyinstaller's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.19.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eBugfix\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix collection of ``numpy`` DLLs when ``numpy`` PyPI wheel is\n  installed using ``uv`` instead of ``pip``. (:issue:`9360`)\n* Extend suppression of missing ``api-ms-win-*.dll`` warnings to Windows Server\n  (formerly Windows 10 and 11). (:issue:`9355`)\n* (Conda) Fix error during initialization of the `conda` hook utility module in\n  Anaconda environments where the metadata for packages with no dependencies\n  omit their *dependencies* key. (:issue:`9345`)\n\u003cp\u003eHooks\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* (Windows) Fix installer check in ``numpy`` hook to enable explicit collection\n  of DLLs from ``numpy.libs`` directory when ``numpy`` PyPI wheels are installed\n  through an installer other than ``pip`` - for example, ``uv``. (:issue:`9365`)\n* (Windows) Update the ``pandas`` hook to explicitly collect the DLLs\n  from ``pandas.libs`` directory that has been used in Windows PyPI wheels\n  since ``pandas`` 2.1.0. (:issue:`9365`)\n\n\n6.18.0 (2026-01-13)\n-------------------\n\nFeatures\n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;Implement support for Tcl/Tk 9 in splash screen. (:issue:\u0026lt;code\u0026gt;9313\u0026lt;/code\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;p\u0026gt;Bugfix\u0026lt;/p\u0026gt;\n\u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;\n* (macOS) Improve the .framework bundle fix-up code to remove file entries\n  that would be placed under restored symlinked directories. This fixes\n  file-already-exists errors at build time (onedir) or run-time (onefile)\n  when user or a hook tries to collect (all) files from a package that\n  ships a .framework bundle with symlinks mangled into hard-copies\n  (for example, due to lack of symlink support in PyPI wheels). (:issue:`9335`)\n* Have hook for stdlib ``platform`` module exclude the ``_ios_support``\n  module when ``sys.platform != 'ios'``. This prevents unnecessary\n  collection of ``ctypes``-imported ``libobjc`` shared library if the\n  latter happens to be available on the build system. (:issue:`9333`)\n\n\n\u0026amp;lt;/tr\u0026amp;gt;\u0026amp;lt;/table\u0026amp;gt; \n\u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt;\n\u0026lt;/blockquote\u0026gt;\n\u0026lt;p\u0026gt;... (truncated)\u0026lt;/p\u0026gt;\n\u0026lt;/details\u0026gt;\n\u0026lt;details\u0026gt;\n\u0026lt;summary\u0026gt;Commits\u0026lt;/summary\u0026gt;\n\n\u0026lt;ul\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/9ae6e2afa4e55c3a784ec88ac74a71688a2a37c8\u0026quot;\u0026gt;\u0026lt;code\u0026gt;9ae6e2a\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Release v6.19.0. [skip ci]\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/50eebf41d1b9309000b4ca6a74c0cc3c3f9b6a73\u0026quot;\u0026gt;\u0026lt;code\u0026gt;50eebf4\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: cygwin: add the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a09778bb289fc24fb34dc675a9e71d3f09794a0a\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a09778b\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; ci: extend the work-around for broken setuptools upgrade\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/a7f87e58c2023ff699610b6af47f4fe4b3a12313\u0026quot;\u0026gt;\u0026lt;code\u0026gt;a7f87e5\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: port remaining metadata tests to importlib.metadata\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/2e751ba399ccf10f0aeb843cbb2f183c22509a6b\u0026quot;\u0026gt;\u0026lt;code\u0026gt;2e751ba\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: add missing importorskip('pkg_resources') decorators\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/611f658dae8881eab3f2264bb90aac136a2152aa\u0026quot;\u0026gt;\u0026lt;code\u0026gt;611f658\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; tests: update setuptools to 82.0.0\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/38ae78854b07bd33359929c6d1a9df52c4544085\u0026quot;\u0026gt;\u0026lt;code\u0026gt;38ae788\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 06 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9369\u0026quot;\u0026gt;#9369\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/e937d76ea5e2177f295488bcaaa6d641adc328cf\u0026quot;\u0026gt;\u0026lt;code\u0026gt;e937d76\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; Tests: Requirements: Scheduled weekly dependency update for week 05 (\u0026lt;a href=\u0026quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/9366\u0026quot;\u0026gt;#9366\u0026lt;/a\u0026gt;)\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/ce6d02ce7ac3d19a6b5a4ef57775d589bc125b4d\u0026quot;\u0026gt;\u0026lt;code\u0026gt;ce6d02c\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: pandas: use delvewheel hook utility function to collect DLLs\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/commit/f0ee7305a607969fee6c02b76e387669df0e0ad7\u0026quot;\u0026gt;\u0026lt;code\u0026gt;f0ee730\u0026lt;/code\u0026gt;\u0026lt;/a\u0026gt; hooks: numpy: relax installer-type check for delvewheel codepath\u0026lt;/li\u0026gt;\n\u0026lt;li\u0026gt;Additional commits viewable in \u0026lt;a href=\u0026quot;https://github.com/pyinstaller/pyinstaller/compare/v6.8.0...v6.19.0\u0026quot;\u0026gt;compare view\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n\u0026lt;/ul\u0026gt;\n\u0026lt;/details\u0026gt;\n\n\u0026lt;br /\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Guts/DicoGIS/pull/422","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guts%2FDicoGIS/issues/422","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/422/packages"}}]}